1
fileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);

//1. Reading from a binary Excel file ('97-2003 format; *.xls)
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
//...
//2. Reading from a OpenXml Excel file (2007 format; *.xlsx)
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
//...
//3. DataSet - The result of each spreadsheet will be created in the result.Tables
DataSet result = excelReader.AsDataSet();
//...
//4. DataSet - Create column names from first row
excelReader.IsFirstRowAsColumnNames = true;
DataSet result = excelReader.AsDataSet();

//5. Data Reader methods
while (excelReader.Read())
{
        //excelReader.GetInt32(0);
}

//6. Free resources (IExcelDataReader is IDisposable)
excelReader.Close();

我已经使用上面的代码来读取 Excel 文档,您使用 no1 或 no2 取决于它是 xls 还是 xlsx,我已经使用 xlsx 进行了尝试(使用上面的数字 2,它工作正常 - 但是我正在使用另一个插入以再次导出文档-这仅适用于 xls,因此我想在使用此代码时将 excel 数据阅读器保持为“xls”(数字 1 而不是数字 2-(上面编号)当我收到错误时试图读入文件:

指数数组的边界之外

知道为什么吗?

4

0 回答 0