Когда то давно для работы с 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());
}
}
}
}
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());
}
}
}
}
Комментариев нет:
Отправить комментарий