Apache POI(Poor Obfuscation Implementation)简洁版的模糊实现,是专门针对Microsoft Office格式档案读和写。是Apache通过Java编写的免费开源的跨平台的Java API。
其中
HSSF--针对Microsoft Excel档案
HWPF--针对Microsoft Word档案
HSLF--针对Microsoft PowerPoint档案
HDGF--针对Microsoft Visio档案
jar包下载
点POI
文本采用的版本是5.0 点dowloads
这两个路径,点击其中一个下载
1 写excel文件
package com.wanmait.excelTest; import java.io.File; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.util.CellRangeAddress; public class WriteExcel { public void writeData() { HSSFWorkbook workbook = new HSSFWorkbook(); //创建工作簿 HSSFSheet sheet = workbook.createSheet("wanma1"); //创建工作表 HSSFRow row = sheet.createRow(4); //创建行 HSSFCell cell = row.createCell(1); //创建列 HSSFFont font = workbook.createFont(); //创建字体 font.setBold(true); //设置加粗 font.setFontHeightInPoints((short)24); //设置字体大小 HSSFCellStyle cellStyle = workbook.createCellStyle(); //创建Cell样式 cellStyle.setFont(font); //设置样式字体 cellStyle.setBorderLeft(BorderStyle.THIN); //设置左边框样式 cellStyle.setLeftBorderColor(IndexedColors.BLACK.getIndex()); //设置左边框颜色 cell.setCellStyle(cellStyle); //设置Cell样式 cell.setCellValue("张三"); //设置该列的数据 CellRangeAddress cellRange = new CellRangeAddress(4, 6, 1, 3); //创建合并单元格 (firstRow,lastRow,firstCell,lastCell) sheet.addMergedRegion(cellRange); //添加合并单元格 //合并单元格中间写数据 只能是row4 col1 File file = new File("d:/wanmait.xlsx"); try { workbook.write(file);//数据写往文件 workbook.close();//关闭工作簿 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
workbook.write()方法被重载,其中的参数也可以是OutputStream。
2 读Excel文件
package com.wanmait.excelTest; import java.io.File; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class ReadExcel { public void readData() { try { File file = new File("d:/wanmait.xlsx"); POIFSFileSystem poifile = new POIFSFileSystem(file); //获取文件 HSSFWorkbook workbook = new HSSFWorkbook(poifile); //打开文件 加载文件 创建工作簿 HSSFSheet sheet = workbook.getSheetAt(0); //获得表 0下标 HSSFRow row = sheet.getRow(4); //获得行 HSSFCell cell = row.getCell(1); //获得单元格 String value = cell.getStringCellValue(); //获得单元格值 System.out.println(value); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
0条评论
点击登录参与评论