这两天做导出Excel,朋友介绍NPOI(很强大),不知道为什么我和他做的一样,我的Excel2007导入出错(Excel2003正常)错误如下
提示是因为Excel版本问题,意思是让用XSSF来读取Excel2007,但在NPOI中没有找到XSSF(java中POI有)最后经过上网查询资料终于解决了。
需要引用的DLL
需要引用的命名空间
using NPOI.HSSF.UserModel; using NPOI.SS.UserModel;
核心代码
string filePath = "C:\\Users\\Administrator\\Desktop\\text.xls"; IWorkbook workbook; using (FileStream fs = File.Open(filePath, FileMode.Open)) { workbook = WorkbookFactory.Create(fs);//根据上传文件创建IWrokbook } ISheet sheet = (ISheet)workbook.GetSheetAt(0);//获取第一个工作表 IRow headerRow = (IRow)sheet.GetRow(0);//获取sheet首行 int cellCount = headerRow.LastCellNum;//获取总列数 int rowCount = sheet.LastRowNum;//获取总行数
经过测试Excel2003和Excel2007正常(由于没有装Excel2010,所以没有测试)
如有不对的地方,请指教,本人菜鸟!