четверг, 27 октября 2016 г.

ExcelDataReader - читаем excel легко

Когда то давно для работы с Excel нужно было использовать COM, оно тормозило и глючило. Теперь все гораздо проще. Простейший способ прочитать xlsx и xls файлы.
ExcelDataReader



Пример кода

            var file = new FileInfo(path);
            using (var stream = new FileStream(path, FileMode.Open))
            {
                DataSet ds;
                IExcelDataReader reader = null;
                if (file.Extension == ".xls")
                {
                    reader = ExcelReaderFactory.CreateBinaryReader(stream);

                }
                else if (file.Extension == ".xlsx")
                {
                    reader = ExcelReaderFactory.CreateOpenXmlReader(stream);
                }

                if (reader == null)
                    return ret;

                reader.IsFirstRowAsColumnNames = false;
                ds = reader.AsDataSet();

                var tablenames = GetTablenames(ds.Tables);


                if (tablenames.Count > 0)
                {
                    foreach (DataRow row in ds.Tables[0].Rows)
                    {
                        foreach (var value in row.ItemArray)
                        {
                            Console.WriteLine("{0}, {1}", value, value.GetType());
                        }

                    }
                }
            }

Комментариев нет:

Отправить комментарий