Quantcast
Channel: Excel Data Reader - Read Excel files in .NET
Viewing all articles
Browse latest Browse all 448

Updated Wiki: Home

$
0
0

Project Description

Lightweight and fast library written in C# for reading Microsoft Excel files ('97-2007).
Cross-platform:
- Windows with .Net Framework 2
- Windows Mobile with Compact Framework
- Linux, OS X, BSD with Mono 2+

This project is migrating to Github and can be found at https://github.com/ExcelDataReader/ExcelDataReader

Note

Please try the latest source from the repo before reporting issues as there have been recent changes.
Also, if you are reporting an issue it is really useful if you can supply an example excel file as this makes debugging much easier and without it we may not be able to resolve any problems.

How to use

C# code :
FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);

//1. Reading from a binary Excel file ('97-2003 format; *.xls)
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
//...//2. Reading from a OpenXml Excel file (2007 format; *.xlsx)
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
//...//3. DataSet - The result of each spreadsheet will be created in the result.Tables
DataSet result = excelReader.AsDataSet();
//...//4. DataSet - Create column names from first row
excelReader.IsFirstRowAsColumnNames = true;
DataSet result = excelReader.AsDataSet();

//5. Data Reader methodswhile (excelReader.Read())
{
	//excelReader.GetInt32(0);
}

//6. Free resources (IExcelDataReader is IDisposable)
excelReader.Close();
VB.NET Code:
Dim stream As FileStream = File.Open(filePath, FileMode.Open, FileAccess.Read)

'1. Reading from a binary Excel file ('97-2003 format; *.xls)Dim excelReader As IExcelDataReader = ExcelReaderFactory.CreateBinaryReader(stream)
'...'2. Reading from a OpenXml Excel file (2007 format; *.xlsx)Dim excelReader As IExcelDataReader = ExcelReaderFactory.CreateOpenXmlReader(stream)
'...'3. DataSet - The result of each spreadsheet will be created in the result.TablesDim result As DataSet = excelReader.AsDataSet()
'...'4. DataSet - Create column names from first row
excelReader.IsFirstRowAsColumnNames = TrueDim result As DataSet = excelReader.AsDataSet()

'5. Data Reader methodsWhile excelReader.Read()
    'excelReader.GetInt32(0);EndWhile'6. Free resources (IExcelDataReader is IDisposable)
excelReader.Close()

Tips

  • SQL reporting services. Set ReadOption.Loose in the CreateBinaryReader factory method to skip some bounds checking which was causing SSRS generated xls to fail. (Only on changeset >= 82970)

Road Map

  • Excel 2007 Binary files support
net_ready.pngcf_ready.pngmono_ready.png


Download the last release version from here

Viewing all articles
Browse latest Browse all 448

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>