我使用以下代码使用 ExcelDataReader 读取 xls 文件的内容。
List<string> excelFiles = GetExcelFileNamesInDirectory(Application.persistentDataPath);
for (int i = 0; i < excelFiles.Count; i++)
{
using (var stream = File.Open(excelFiles[i], FileMode.Open, FileAccess.Read))
{
// Auto-detect format, supports:
// - Binary Excel files (2.0-2003 format; *.xls)
// - OpenXml Excel files (2007 format; *.xlsx)
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
// Choose one of either 1 or 2:
fileLog.text = reader.Name;
// 1. Use the reader methods
do
{
while (reader.Read())
{
// reader.GetDouble(0);
}
} while (reader.NextResult());
// 2. Use the AsDataSet extension method
var result = reader.AsDataSet();
// The result of each spreadsheet is in result.Tables
}
}
}
有一个 excel 文件,因此代码通过了 for 循环。不幸的是,代码没有越界using (var stream..
,它在使用 ExcelReaderFactory 创建阅读器之前结束。我错过了任何参考吗?