第七周作业 POI操作Excel,world文档

先来说说jxl与poi的区别。

  相同点都是操作EXcel的工具,但jxl不常用原因有:jxl没有人维护,操作excel效力低下,只支持03及其以前的版本的excel,对图片的支持不完整。

   同poi比较而言,poi效率高功能强大,支持xlsx,xls即支持所有的版本。而且操作大数据效率比较高,因为他对大数据的操作做了相应的优化。

下面来个简单地实现:poi操作Excel的功能

简单的单元测试类:实现的功能是向excel文件中写入数据

 1 @Test
 2     public void test1() throws IOException
 3     {
 4         //1.创建工作簿
 5         HSSFWorkbook hssfWorkbook=new HSSFWorkbook();
 6         //2.创建工作表
 7         HSSFSheet sheet=hssfWorkbook.createSheet("sunnerr");
 8         
 9         //3.创建行HSSFRow
10         HSSFRow hssfRow=sheet.createRow(3);
11         HSSFCell hssfCell=hssfRow.createCell(3);
12         //4.创建单元格
13         hssfCell.setCellValue("哈哈哈哈");
14         //输出到硬盘
15         FileOutputStream fileOutputStream=new FileOutputStream("d:\log\测试.xlsx");
16         //把Excel输出到具体的地址
17         hssfWorkbook.write(fileOutputStream);
18         
19         hssfWorkbook.close();
20         fileOutputStream.close();
21     }
22     
View Code

结果课件excel中有了相应的数据。相应的东西已经写入

接下来是一个简单的读取数据:

 1 /*
 2      * 测试读取的步骤
 3      */
 4     @Test
 5     public void test2() throws IOException
 6     {
 7         FileInputStream inputStream=new FileInputStream("d:\log\测试.xlsx");
 8         //1.读取工作簿
 9         HSSFWorkbook hssfWorkbook=new HSSFWorkbook(inputStream);
10         //2.读取第一个工作表
11         HSSFSheet sheet=hssfWorkbook.getSheetAt(0);
12         //4.读取单元格
13         HSSFRow hssfRow=sheet.getRow(3);
14         HSSFCell cell=hssfRow.getCell(3);
15         System.out.println(cell.getStringCellValue());
16         
17         hssfWorkbook.close();
18         inputStream.close();
19     }
View Code

运行结果如下

接下来是一个简单地填充颜色及其合并单元格的操作:

 1 /*
 2      * 测试读取的步骤
 3      */
 4     @Test
 5     public void test2() throws IOException
 6     {
 7         FileInputStream inputStream=new FileInputStream("d:\log\测试.xlsx");
 8         //1.读取工作簿
 9         HSSFWorkbook hssfWorkbook=new HSSFWorkbook(inputStream);
10         //2.读取第一个工作表
11         HSSFSheet sheet=hssfWorkbook.getSheetAt(0);
12         //4.读取单元格
13         HSSFRow hssfRow=sheet.getRow(3);
14         HSSFCell cell=hssfRow.getCell(3);
15         System.out.println(cell.getStringCellValue());
16         
17         hssfWorkbook.close();
18         inputStream.close();
19     }
View Code

打开文件后可见操作成功合并成功,颜色填充成功

poi操作Excel有时候在项目中还是会用到的。

原文地址:https://www.cnblogs.com/he-123/p/5400465.html