问题描述
我的C#.Net应用程序通过使用excel公式字符串加载和读取excel表格单元格值。
例如-excel工作表位置和选项卡名称及其单元格行/列将作为公式字符串提供。
'D:\ datax [Data.Xls] EOD'!$ A5
根据上述公式-C#应用程序从该位置加载Data.Xls并打开EOD选项卡,应读取第5行A列的值。
寻找在C#.Net框架中完成的最佳方法。
解决方法
string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + openFileDialog1.FileName + ";Extended Properties='Excel 8.0;HDR=Yes;READONLY=true;IMEX=1;'";
using (var connection = new System.Data.OleDb.OleDbConnection(con))
{
connection.Open();
xlApp = new Application();
xlWorkbook = xlApp.Workbooks.Open(openFileDialog1.FileName);
for (int ipage = 1; ipage <= xlApp.ActiveWorkbook.Sheets.Count; ipage++)
{
Worksheet page = xlApp.ActiveWorkbook.Sheets[ipage];
page.Columns.ClearFormats();
sayfa.Rows.ClearFormats();
var xlRange = page.UsedRange;
var lastRow = page.Cells.SpecialCells(XlCellType.xlCellTypeLastCell).Row;
int sum = xlRange.Rows.Count - 1;
var columns = new List<string>();
string ObjecType = "";
for (int i = 1; i < xlRange.Columns.Count + 1; i++)
{
}
}
connection.Close();
}