我有以下代码:
spreadSheetName
在xlsFileConnection
参数中,我保留了我的文件名。
"Provider=Microsoft.Jet.OLEDB.4.0;
Data Source='<directory path>';
Extended Properties='text; HDR=No; FMT=Delimited'"
的连接字符串设置为
while (xlsReader.Read())
当我开始执行HDR
时,我从第2行开始,但不从数据源开始#1。
第一个建议是3. Allow restricted operations with full administration rights
参数的值无效但看起来没问题。
答案 0 :(得分:0)
有更好,更简单的方法来阅读xlsx文件,如果我是你,我会从nuget中获取closedXML并将此代码读取到excel文件到数据表中
public void ProcessExcel(string fileName)
{
_dt = ImportSheet(fileName);
dgContacts.ItemsSource = _dt.DefaultView;
}
public static DataTable ImportSheet(string fileName)
{
var datatable = new DataTable();
var workbook = new XLWorkbook(fileName);
var xlWorksheet = workbook.Worksheet(1);
var range = xlWorksheet.Range(xlWorksheet.FirstCellUsed(), xlWorksheet.LastCellUsed());
var col = range.ColumnCount();
var row = range.RowCount();
datatable.Clear();
for (var i = 1; i <= col; i++)
{
var column = xlWorksheet.Cell(1, i);
datatable.Columns.Add(column.Value.ToString());
}
var firstHeadRow = 0;
foreach (var item in range.Rows())
{
if (firstHeadRow != 0)
{
var array = new object[col];
for (var y = 1; y <= col; y++)
{
array[y - 1] = item.Cell(y).Value;
}
datatable.Rows.Add(array);
}
firstHeadRow++;
}
return datatable;
}
根据需要从数据表中获取数据。
这是实时和有效的代码,因此您只需要复制并粘贴