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 ドキュメントを読み取りました。xls か xlsx かに応じて no1 または no2 を使用します。xlsx で試しました (上記の番号 2 を使用すると正常に動作しますが、別のプラグインしてドキュメントを再度エクスポートします-これはxlsでのみ機能するため、このコードを使用するときにExcelデータリーダーを「xls」に保ちたいと思いました(番号2ではなく番号1-(上記の番号)ファイルを読み込もうとしています:
インデックスが配列の範囲外だった
理由について何か考えはありますか?