Excel Data Readerプロジェクトを見てみましょう。これにより、Excel ファイル (古いバイナリ形式または新しい OpenXML 形式のいずれか) を非常に簡単に にダンプできますDataSet
。この時点で、データに対して必要なことを行うことができます。以前のプロジェクトで概念実証として使用したサンプル コードを次に示します。
private static DataSet ImportDataFromExcelFile()
{
DataSet dataFromExcelFile = null;
// Try importing the file as OpenXML
using (var excelFile = File.Open(excelFileName, FileMode.Open, FileAccess.Read))
{
using (var excelReader = ExcelReaderFactory.CreateOpenXmlReader(excelFile))
{
excelReader.IsFirstRowAsColumnNames = true;
dataFromExcelFile = excelReader.AsDataSet();
}
}
if (dataFromExcelFile != null)
return dataFromExcelFile;
// Try importing the file as Excel 97-2003
using (var excelFile = File.Open(excelFileName, FileMode.Open, FileAccess.Read))
{
using (var excelReader = ExcelReaderFactory.CreateBinaryReader(excelFile))
{
excelReader.IsFirstRowAsColumnNames = true;
dataFromExcelFile = excelReader.AsDataSet();
}
}
if (dataFromExcelFile != null)
return dataFromExcelFile;
throw new Exception("Unable to determine format of Excel file.");
}
まず、最新の形式で Excel ファイルを読み込もうとします。それが失敗した場合は、古い形式で試行します。それが失敗した場合、あきらめて例外をスローします。