A basic implementation of the IDataWriter interface, so we can simply export CSV files. Should be compliant with RFC4180 ( http://tools.ietf.org/html/rfc4180 ).
Inheritance: IDataFileWriter
        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));
        }