您的位置:首页 > 其它

NPOI 导入不了2007以上版本Excel

2014-03-28 11:03 232 查看
前段时间用在用NPOI导入Excel 的时候出现 异常 

读取的方法是网上用的比较多的

using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
hssfworkbook = new XSSFWorkbook(file);
for (int i = 0; i < hssfworkbook.NumberOfSheets; i++) //NumberOfSheets是xls中总共的表数
{
sheet = hssfworkbook.GetSheetAt(i); //读取当前表数据
for (int j = 1; j <= sheet.LastRowNum; j++) //LastRowNum 是当前表的总行数
{
IRow row = sheet.GetRow(j); //读取当前行数据
if (row != null)
{
ICell cell = row.GetCell(0); //当前表格
if (cell != null)
{

}
}
}
}
}
平时导入Excel 文件都是用2003模板,所以没有碰到 2007 版本以上 读取出现异常

网上是说是上述方法是能对应 2003 版的 

去网上整理了一个 能导入2007 以上版本Excel的方法

using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
hssfworkbook = new XSSFWorkbook(file); //加载excel
sheet = hssfworkbook.GetSheetAt(0); //读取当前表数据
IEnumerator rows = sheet.GetRowEnumerator(); //获取总行数
while (rows.MoveNext())
{
IRow row = (XSSFRow)rows.Current; //获取当前行
for (int i = 0; i < row.Cells.Count; i++) //遍历单元格
{
ICell cell = row.GetCell(i);
if (cell != null)
{

}
}
}
}

这里要引用一个DLL NOPI.OOXML.dll。
注意这里其实最好就好他提供的DLL 都引用,因为他们之间是有关联的

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  NPOI 导入 2007
相关文章推荐