之前用 NPOI 1.2读取Excel,好像只支持 xls 格式,下载了 NPOI 2.0 然后引用了全部4个dll, XSSFWorkbook 在 NPOI.OOXML.dll中,其他几个不清楚是不是必须引用;
C#代码段
IWorkbook wk;
string fileExt = Path.GetExtension(filePath);
try
{
using (var file = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
if (fileExt == ".xls")
{
wk = new HSSFWorkbook(file);
}
else if (fileExt == ".xlsx")
{
wk = new XSSFWorkbook(file);
}
else
{
return null;
}
}
}
...
for (int i = 0; i < wk.NumberOfSheets; i++) //NumberOfSheets是myxls.xls中总共的表数
{
ISheet sheet = wk.GetSheetAt(i); //读取当前表数据
for (int j = 0; j <= sheet.LastRowNum; j++) //LastRowNum 是当前表的总行数
{
IRow row = sheet.GetRow(j); //读取当前行数据
if (row != null)
{
sbr.Append("-------------------------------------\r\n"); //读取行与行之间的提示界限
for (int k = 0; k <= row.LastCellNum; k++) //LastCellNum 是当前行的总列数
{
ICell cell = row.GetCell(k); //当前表格
if (cell != null)
{
sbr.Append(cell.ToString()); //获取表格中的数据并转换为字符串类型
}
}
}
}
}
NPOI下载地址:http://npoi.codeplex.com/releases