这期内容当中小编将会给大家带来有关java利用POI如何实现操作excel文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
<强>一、POI的定义强>
java中操作excel的有两种比较主流的工具包:JXL和POI .jxl只能操作excel 95、97、2000也即以。xls为后缀的excel。而poi可以操作excel 95及以后的版本,即可操作后缀为xls和.xlsx两种格式的excel。
poi全称差模糊实现,直译为“可怜的模糊实现”,利用poi接口可以通过JAVA操作微软office套件工具的读写功能。官网:http://poi.apache.org poi支持办公室的所有版本,首先去官网下载如下界面:
下载完后,打开“poi -本- 3.15 - 20160924. -焦油。广州”获取操作excel需要的jar包,并将这些jar包复制到项目中。对于只操作2003年及以前版本的excel,只需要poi - 3.15。jar,如果需要同时对2007年及以后版本进行操作则需要复制
poi-ooxml-3.15.jar
poi-ooxml-schemas-3.15.jar
以及复制在ooxml-lib目录下的xmlbeans-2.6.0.jar(但不知为何,我下的jar文件中没有dom4j.jar)这个文件,还是加上dom4j.jar,防止报的错。
<强>二、使用junit进行操作Excel测试强>
首先明确Excel工作簿对象,工作表对象,行对象,以及单元格对象。
具体代码如下
这段代码只是将数据写入到Excel文件中创建
公共静态void main (String [] args){抛出异常/* * *注意这只是07版本以前的做法对应的excel文件的后缀名为xls * 07版本和07版本以后的做法excel文件的后缀名为.xlsx *///创建新工作簿 HSSFWorkbook工作簿=new HSSFWorkbook ();//新建工作表 HSSFSheet表=workbook.createSheet (“hello");//创建行,行号作为参数传递给createRow()方法,第一行从0开始计算 HSSFRow行=sheet.createRow (0);//创建单元格、行已经确定了行号、列号作为参数传递给createCell(),第一列从0开始计算 HSSFCell细胞=row.createCell (2);//设置单元格的值,即C1的值(第一行,第三列) cell.setCellValue(“你好sheet");//输出到磁盘中 FileOutputStream安全系数=new FileOutputStream(新文件(“E: \ \根\ \单\ \ 11. xls")); workbook.write (fos)提交; workbook.close (); fos.close (); }
结果如下图:
同样也可以对读取excel文件,得到excel文件的数据,并将其打印出来,代码如下:
@Test 公共空间testReadExcel()抛出异常 {//创建输入流 FileInputStream fis=new FileInputStream(新文件(“E: \ \根\ \单\ \ 11. xls"));//通过构造函数传参 HSSFWorkbook工作簿=new HSSFWorkbook (fis);//获取工作表 HSSFSheet表=workbook.getSheetAt (0);//获取行,行号作为参数传递给getRow方法,第一行从0开始计算 HSSFRow行=sheet.getRow (0);//获取单元格、行已经确定了行号、列号作为参数传递给getCell,第一列从0开始计算 HSSFCell细胞=row.getCell (2);//设置单元格的值,即C1的值(第一行,第三列) 字符串cellValue=https://www.yisu.com/zixun/cell.getStringCellValue (); System.out.println(“第一行第三列的值是“+ cellValue); workbook.close (); fis.close (); }
结果如下图:
上面操作的都是07版本以前的excel文件,即后缀名为xls, 07年和07版本以后的excel文件后缀名为。xlsx相应的工作簿的对象名也改为:
//创建工作簿 XSSFWorkbook工作簿=new XSSFWorkbook ();
代码如下,创建excel文件并保存数据到excel文件:
@Test 公共空间write07()抛出异常 {//创建工作簿 XSSFWorkbook工作簿=new XSSFWorkbook ();//新建工作表 XSSFSheet表=workbook.createSheet (“hello");//创建行0表示第一行 XSSFRow行=sheet.createRow (0);//创建单元格行号由行确定,列号作为参数传递给createCell;第一列从0开始计算 XSSFCell细胞=row.createCell (2);//给单元格赋值 cell.setCellValue(“你好sheet");//创建输出流 FileOutputStream安全系数=new FileOutputStream(新文件(“E: \ \根\ \单\ \ hello.xlsx")); workbook.write (fos)提交; workbook.close (); fos.close (); }java利用POI如何实现操作excel文件