java利用POI如何实现操作excel文件

  介绍

这期内容当中小编将会给大家带来有关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支持办公室的所有版本,首先去官网下载如下界面:

癑AVA利用poi如何实现操作excel文件"

下载完后,打开“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 ();
  }

结果如下图:

癹ava利用POI如何实现操作excel文件"

同样也可以对读取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 ();   }

结果如下图:

癹ava利用POI如何实现操作excel文件"

上面操作的都是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文件