Как считать ячейку Excel из VB.Net

Как я могу считать определенную ячейку из файла Excel с помощью Подключения OLEDB с VB.NET?

Можно ли показать мне пример кода?

6
задан Our Man in Bananas 12 May 2015 в 16:34
поделиться

2 ответа

Попробуйте следующий код C #:

Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
Dim MyConnection As System.Data.OleDb.OleDbConnection
MyConnection = New System.Data.OleDb.OleDbConnection( _
"provider=Microsoft.Jet.OLEDB.4.0; " & _
"data source=" & ExcelFilePath & "; " & _
"Extended Properties=Excel 8.0")

' Select the data from Sheet1 ([in-house$]) of the workbook.
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [in-house$]", MyConnection)

DS = New System.Data.DataSet
MyCommand.Fill(DS)
Dt = DS.Tables(0)
DataGrid1.DataSource = Dt

Попробуйте это для конкретной ячейки (она будет читать ячейку D6). Следует отметить, что он не использует соединение OLEDB, а имеет прямой доступ.

Требуется пространство имен с использованием Microsoft.Office.Core;

Добавьте его, добавив ссылку из COM в Библиотеку объектов Microsoft Office 12.0

Dim oApp As New Excel.Application
Dim oWBa As Excel.Workbook = oApp.Workbooks.Open("c:\Test.XLS")
Dim oWS As Excel.Worksheet = DirectCast(oWBa.Worksheets(1),
Excel.Worksheet)
oApp.Visible = False

Dim oRng As Excel.Range
oRng = oWS.Range("D6")
MsgBox(oRng.Value)
7
ответ дан 17 December 2019 в 00:07
поделиться

SpreadsheetGear для .NET - это совместимый с Excel компонент электронных таблиц для .NET, который можно использовать для получения формулы, значения, форматированного текста и т. Д. Из любой ячейки. Вот простой пример:

using System;
using SpreadsheetGear;

namespace Program
{
    class Program
    {
        static void Main(string[] args)
        {
            // Load a workbook from disk and get the first worksheet.
            IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(@"C:\tmp\HelloWorld.xlsx");
            IWorksheet worksheet = workbook.Worksheets[0];
            // Get a reference to cell A1 and write the formatted value to the console.
            IRange a1 = worksheet.Cells["A1"];
            Console.WriteLine("A1={0}", a1.Text);
            // Get a reference to B2 and write the formula / value / text to the console.
            IRange b2 = worksheet.Cells[1, 1];
            Console.WriteLine("B2 Formula={0}, Value={1}, Text={2}", b2.Formula, b2.Value, b2.Text);
        }
    }
}

Вы можете увидеть живые образцы здесь или загрузить бесплатную пробную версию здесь , если хотите попробовать сами.

Заявление об ограничении ответственности: мне принадлежит SpreadsheetGear LLC

0
ответ дан 17 December 2019 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: