public void ReadExcelFile()
{
FileStream input = new FileStream(InputFile, FileMode.Open, FileAccess.Read);
IExcelDataReader reader = ExcelReaderFactory.CreateBinaryReader(input);
IDataFileWriter writer = new CommaSeparatedValueWriter(OutputFile);
reader.IsFirstRowAsColumnNames = false;
DataSet result = reader.AsDataSet();
foreach (DataTable t in result.Tables)
{
writer.WriteLine(new string[] { t.TableName });
List<string> columns = new List<string>();
foreach (DataColumn column in t.Columns)
{
columns.Add(column.ColumnName);
}
writer.WriteLine(columns);
foreach (DataRow row in t.Rows)
{
List<string> fields = new List<string>();
foreach (object f in row.ItemArray)
{
fields.Add(f.ToString());
}
writer.WriteLine(fields);
}
writer.WriteLine(null);
}
writer.Close();
reader.Close();
Assert.AreEqual(File.ReadAllText(OutputFile), File.ReadAllText(CheckFile));
}