作者:shaihaiyou | 来源:互联网 | 2023-08-21 20:29
篇首语:本文由编程笔记#小编为大家整理,主要介绍了JAVA POI 应用系列--生成Excel相关的知识,希望对你有一定的参考价值。
POI简介(官网:http://poi.apache.org/)
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。自2009-09-28后,推出了3.5版本,提供了对Office2007的支持;
关于Apache POI一些重要的地方:
1)Apache POI 包含适合Excel97-2007(.xls文件)的HSSF实现.
2)Apache POI XSSF实现用来处理Excel2007文件(.xlsx).
3)Apache POI HSSF和XSSF提供了读/写/修改Excel表格的机制.
4)Apache POI 提供了XSSF的一个扩展SXSSF用来处理非常大的Excel工作单元.SXSSF API需要更少的内存,因此当处理非常大的电子表格同时堆内存又有限时,很合适使用.
5)有两种模式可供选择--事件模式和用户模式.事件模式要求更少的内存,因为用tokens来读取Excel并处理.用户模式更加面向对象并且容易使用,因此在我们的示例中使用用户 模式.
6)Apache POI为额外的Excel特性提供了强大支持,例如处理公式,创建单元格样式--颜色,边框,字体,头部,脚部,数据验证,图像,超链接等.
添加maven依赖:
1
2 <dependency>
3 <groupId>org.apache.poigroupId>
4 <artifactId>poiartifactId>
5 <version>3.10-FINALversion>
6 dependency>
7 <dependency>
8 <groupId>org.apache.poigroupId>
9 <artifactId>poi-ooxmlartifactId>
10 <version>3.10-FINALversion>
11 dependency>
代码如下:
1 package com.yanwu.www.spring_hibernate.util;
2
3 import java.io.FileOutputStream;
4 import java.io.IOException;
5
6 import org.apache.poi.hssf.usermodel.HSSFCell;
7 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
8 import org.apache.poi.hssf.usermodel.HSSFRow;
9 import org.apache.poi.hssf.usermodel.HSSFSheet;
10 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
11
12 public class SimpleExcelWrite{
13
14 public static void main(String[] args) {
15
16 //第一步创建workbook
17 HSSFWorkbook wb = new HSSFWorkbook();
18
19 //第二步创建sheet
20 HSSFSheet sheet = wb.createSheet("测试");
21
22 //第三步创建行row:添加表头0行
23 HSSFRow row = sheet.createRow(0);
24 HSSFCellStyle style = wb.createCellStyle();
25 //style.setAlignment(HSSFCellStyle.ALIGN_CENTER); //居中
26
27
28 //第四步创建单元格
29 HSSFCell cell = row.createCell(0); //第一个单元格
30 cell.setCellValue("姓名");
31 cell.setCellStyle(style);
32
33
34
35 cell = row.createCell(1); //第二个单元格
36 cell.setCellValue("年龄");
37 cell.setCellStyle(style);
38
39
40 //第五步插入数据
41
42 for (int i = 0; i <5; i++) {
43 //创建行
44 row = sheet.createRow(i+1);
45 //创建单元格并且添加数据
46 row.createCell(0).setCellValue("aa"+i);
47 row.createCell(1).setCellValue(i);
48
49 }
50
51 //第六步将生成excel文件保存到指定路径下
52 try {
53 FileOutputStream fout = new FileOutputStream("C:\\\\Users\\\\IBM_ADMIN\\\\Desktop\\\\promotion\\\\a.xls");
54 wb.write(fout);
55 fout.close();
56 } catch (IOException e) {
57 e.printStackTrace();
58 }
59
60 System.out.println("Excel文件生成成功...");
61 }
62
63
64
65 }
66
67
68
69
效果: