标签:
先来说说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
结果课件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 }
运行结果如下
接下来是一个简单地填充颜色及其合并单元格的操作:
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 }
打开文件后可见操作成功合并成功,颜色填充成功
poi操作Excel有时候在项目中还是会用到的。
标签:
原文地址:http://www.cnblogs.com/he-123/p/5400465.html