JAVA使用POI读、写Excel文件
2018-03-30 15:22
295 查看
JAVA使用POI读、写Excel文件
01.前言
当前使用比较多的读取Excel文件API就是POI和JXL。JXL(Java Excel API) 官网地址:http://jexcelapi.sourceforge.net/
Apache的POI(Poor Obfuscation Implementation)官网地址:http://poi.apache.org/
POI支持微软的OLE2格式文件Office 2003及以下版本;同时支持微软的OOXML(Office Open XML)标准,也就是Office 2007以上版本。JXL只能实现对Excel 2003以下版本的支持。
POI使用HSSF对象操作OLE2格式Excel,文件后缀为.xls的;使用XSSF、SXSSF对象操作OOXML格式Excel,文件后缀为.xlsx的。对于OLE2版本的Excel,一个Sheet工作表它的行最多支持到65536行,列支持到256列;对于OOXML版本的Excel,一个Sheet工作表它的行支持到1048576行,列支持到16384列。
02.POI的使用
02.1.所需要的jar包
jar包下载地址:https://www.apache.org/dyn/closer.lua/poi/release/bin/poi-bin-3.17-20170915.tar.gz本程序使用jar包:poi-3.17.jar poi-ooxml-3.17.jar poi-ooxml-schemas-3.17.jar xmlbeans-2.6.0.jar
02.2.写数据到Excel
@Test public void writeExcel() throws Exception { //创建工作簿 XSSFWorkbook workbook = new XSSFWorkbook(); //创建工作表 XSSFSheet sheet = workbook.createSheet(); //创建行 XSSFRow row = sheet.createRow(2); //创建单元格,操作第三行第三列 XSSFCell cell = row.createCell(2,CellType.STRING); cell.setCellValue("hellword"); // FileOutputStream outputStream = new FileOutputStream(new File("test.xlsx")); workbook.write(outputStream); //关闭工作簿 workbook.close(); }
其结果就是就内容“hellword” 写到当前工程的test.xlsx文件的第三行第三列中,如图:
02.03.读Excel数据
@Test public void readExcel() throws Exception { //打开需要读取的文件 FileInputStream inputStream = new FileInputStream(new File("text.xlsx")); //读取工作簿 XSSFWorkbook wordBook = new XSSFWorkbook(inputStream); //读取工作表,从0开始 XSSFSheet sheet = wordBook.getSheetAt(0); //读取第三行 XSSFRow row = sheet.getRow(2); //读取单元格 XSSFCell cell = row.getCell(2);//获取单元格对象 String value = cell.getStringCellValue(); System.out.println(value); //关闭输入流 inputStream.close(); //关闭工作簿 wordBook.close(); }
结果如图:
03.补充
一些常用操作:新建工作簿:
HSSFWorkbook wb = new HSSFWorkbook();
打开工作簿:
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(xlsFile));
建立新的sheet对象:
HSSFSheet sheet = wb.createSheet(“我的第一个工作簿”);
选择第一个工作簿:
HSSFSheet sheet = wb.getSheetAt(0);
设置工作簿的名称:
wb.setSheetName(0, “我的第一个工作簿”);
创建行对象:
HSSFRow nRow = null;
nRow = sheet.createRow(1); //第2行
指定列 创建单元格对象:
HSSFCell nCell = null;
nCell = nRow.createCell((short)(2)); //第3列
指定列 创建单元格对象:
nCell.setCellValue(“我是单元格”);
设置样式 注意:样式不能重复设置
nCell.setCellStyle(leftStyle(wb));
本程序所需要的jar包:链接:https://pan.baidu.com/s/1Canvtaxvk06VHB4g2d8SNw 密码:ev38
具体使用可参照:https://poi.apache.org/spreadsheet/index.html
对于junit的使用可以参照博主的另外一篇博客。
相关文章推荐
- java使用poi解析Excel文件
- JAVA使用POI创建EXCEL文件
- POI 与 JXL 的一点比较——关于使用Java操作excel文件
- java使用poi读取xls格式和xlsx格式的excel文件
- java使用POI实现excel文件的读取,兼容后缀名xls和xlsx
- java中使用poi导入excel文件
- java使用poi创建excel文件
- java使用POI写Excel文件
- java使用POI操作excel文件,实现批量导出,和导入
- Java使用POI生成Excel文件
- java操作excel文件(使用poi)
- java简单的从数据库查询数据使用POI导出excel文件
- java使用POI操作excel文件
- JAVA使用POI读取EXCEL文件的简单model
- 使用POI实现Java读写Excel文件
- Java使用POI读取Excel文件
- 使用java poi 读取excel文件
- JAVA使用POI读取EXCEL文件的简单model
- java开发技术总结-----使用poi生成excel文件
- java使用jxl与poi操作excel文件