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)); }