本文目录一览:
hssfrow 和row的区别
public static void test() throws IOException{
FileInputStream readFile = new FileInputStream("C:\\test.xls"); //此.xls文件只有第4行有输入值
HSSFWorkbook wb = new HSSFWorkbook(readFile);
HSSFSheet st = wb.getSheetAt(0);
HSSFRow row0 = st.getRow(0); //excel文件创未建过第0行 row0为null
HSSFRow row1 = st.getRow(1); //excel文件创未建过第1行 row1为null
HSSFRow row3 = st.getRow(3); //excel文件创建过第3行 有值
HSSFRow row6 = st.getRow(6); //excel文件创未建过第6行 row6为null
HSSFCell cell = row3.getCell(6);
System.out.println(cell.getStringCellValue());
}
HSSF,XSSF和SXSSF的区别
HSSF是POI工程对Excel 97(-2007)文件操作的纯Java实现
XSSF是POI工程对Excel 2007 OOXML (。xlsx)文件操作的纯Java实现
从POI 3.8版本开始,提供了一种基于XSSF的低内存占用的API----SXSSF
SXSSF通过一个滑动窗口来限制访问Row的数量从而达到低内存占用的目录,XSSF可以访问所有行。旧的行数据不再出现在滑动窗口中并变得无法访问,与此同时写到磁盘上。
在自动刷新的模式下,可以指定窗口中访问Row的数量,从而在内存中保持一定数量的Row。当达到这一数量时,在窗口中产生新的Row数据,并将低索引的数据从窗口中移动到磁盘中。
或者,滑动窗口的行数可以设定成自动增长的。它可以根据需要周期的根据一次明确的flushRow(int keepRows)调用来进行修改。
注意:针对 SXSSF Beta 3.8下,会有临时文件产生,比如:
poi-sxssf-sheet4654655121378979321.xml
文件位置:java.io.tmpdir这个环境变量下的位置
Windows 7下是C:\Users\xxxxxAppData\Local\Temp
Linux下是 /var/tmp/
要根据实际情况,看是否删除这些临时文件
HSSF 中 HSSFROW的 *** 使用
HSSFCellStyle style = workbook.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//上下居中
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_TOP);//靠上
cell.setCellStyle(style);
hssfworkbook与xssworkbook有什么不同
HSSFWorkBo好,XSSFWorkBo好是一“伙”的,一个是早期、一个是2007之后。
还不错,使用多一点JXL也好,好像大文档没优化还可以使用JNI的本地调用(WINDOWS下)