web开发小结-Excel的写入、读取
POI项目提供了一组操纵Windows文档的Java API,如下几个类提供了操作Excel文件的方便的途径:HSSFWorkbook、 HSSFSheet、HSSFRow、HSSFCell,分别代表了Excel电子表格中的Book、Sheet、行和单元格。
可参考导出数据-----》POI导出的实例
内存写入数据到硬盘Excel文件的步骤:
一:内存中生成excel文档(sheet-->row-->cell,及各部分的样式)
二:导入数据
三:输出到硬盘
HSSFWorkbook book = new HSSFWorkbook();
HSSFSheet sheet = book.createSheet();
book.setSheetName(0, "first sheet");
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellValue("Hello! This message is generated from POI.");
// FileOutputStream fos = new FileOutputStream("d:/test.xls");
String xlsFile = Labels.getLabel("ProjectPath")+ Labels.getLabel("WebRoot") + "/exportExcel" ;
File path = new File(xlsFile);
if (!path.exists()) {
path.mkdirs();
}
File f = new File( path+"/test.xls");
OutputStream fos = new OutputStream( f );
wb.write(fos);
fos.close();
内存读取硬盘Excel文件数据的步骤:
读取Excel文件时,首先生存一个POIFSFileSystem对象,由POIFSFileSystem对象构造一个HSSFWorkbook,该HSSFWorkbook对象就代表了Excel文档
一:内存中构造一个POIFSFileSystem对象加载指定路径文件的流
二:构造一个excel文档
三:依次读取该excel文档的数据
POIFSFileSystem fs = null;
HSSFWorkbook book = null;
try {
fs = new POIFSFileSystem(new FileInputStream("d:/test.xls"));
book = new HSSFWorkbook(fs);
} catch (IOException e) {
e.printStackTrace();
}
HSSFSheet sheet = book.getSheetAt(0);
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short) 0);
String msg = cell.getStringCellValue();