Excel2003-97
1 static void NPOI_ImportExcel2003(Args _args) 2 { 3 System.IO.FileStream file=new System.IO.FileStream("D:\test.xls", System.IO.FileMode::Open,System.IO.FileAccess::Read); 4 NPOI.HSSF.UserModel.HSSFWorkbook workBook= new NPOI.HSSF.UserModel.HSSFWorkbook(file); 5 NPOI.SS.UserModel.ISheet sheet=workBook.GetSheetAt(0); 6 System.Collections.IEnumerator rows = sheet.GetRowEnumerator(); 7 NPOI.SS.UserModel.IRow row; 8 NPOI.SS.UserModel.ICell cell; 9 int i,t; 10 ; 11 t=timenow(); 12 while (rows.MoveNext()) 13 { 14 row = rows.get_Current(); 15 for(i=0;i<=175;i++) 16 { 17 cell = row.GetCell(i); 18 if(cell) 19 print cell.get_StringCellValue(); 20 } 21 } 22 file.Close(); 23 info(int2str(timenow()-t)); 24 }
Excel2007
跟2003-97版本差不多,只是workBook引用的class不一样(红色部分)
1 static void NPOI_ImportExcel2007(Args _args) 2 { 3 System.IO.FileStream file=new System.IO.FileStream("D:\test.xlsx", System.IO.FileMode::Open,System.IO.FileAccess::Read); 4 NPOI.XSSF.UserModel.XSSFWorkbook workBook= new NPOI.XSSF.UserModel.XSSFWorkbook(file); 5 NPOI.SS.UserModel.ISheet sheet=workBook.GetSheetAt(0); 6 System.Collections.IEnumerator rows = sheet.GetRowEnumerator(); 7 NPOI.SS.UserModel.IRow row; 8 NPOI.SS.UserModel.ICell cell; 9 int i,t; 10 ; 11 t=timenow(); 12 while (rows.MoveNext()) 13 { 14 row = rows.get_Current(); 15 for(i=0;i<=175;i++) 16 { 17 cell = row.GetCell(i); 18 if(cell) 19 print cell.get_StringCellValue(); 20 } 21 } 22 file.Close(); 23 info(int2str(timenow()-t)); 24 }
两个版本导入读取Excel耗时几乎相同,用的是之前导出的数据,全部读取并print耗时3秒,如果不print,耗时1秒