一起学习 POI (使用 maven 构建)(1)-HelloWorld
本节只是一个简单的 poi 操作 Excel 表格入门的教程,包括:
1、如何创建 Excel 工作簿文件(不带 Sheet);
2、如何创建 Excel 工作簿的 Sheet;
3、如何创建 单元格,为单元格填写数据。
内容非常简单。
本节须要的 pom 依赖片段:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.13</version>
</dependency>
本学习笔记参考了 曹锋老师的《一头扎进 POI 视频教程》,特此说明,并向曹锋老师表示感谢。
一句话了解什么是POI。
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
也就是说,POI 为我们提供了使用 Java 语言来操作 Office 文档的能力。
项目主页地址:
Apache POI - the Java API for Microsoft Documents
http://poi.apache.org/
首先我们先来问候一下 POI 他大爷,对 POI 有一个基本的认识。:
本讲的基本内容有:
1、Poi 简介
2、创建新工作簿
3、创建新Sheet 页
4、创建单元格
第 1 讲的示例代码是:Demo1-Demo3。
poi 输出 Excel 的思路是:先由 Workbook 创建 Sheet 页,再由 Sheet 创建行 Row ,最后由 Row 创建单元格。
示例代码 1:
public static void main(String[] args) throws IOException {
// 定义一个新的工作簿
Workbook wb = new HSSFWorkbook();
FileOutputStream fos = new FileOutputStream(
"c:\\POI使用FileOutputStream输出流生成的工作簿.xls");
// 使用工作簿提供的 write 方法向文件输出流输出
wb.write(fos);
fos.close();
}
使用上面的程序生成的工作簿里面没有工作表。想要为创建的新工作簿创建工作表可以使用 Workbook 提供的 createSheet 方法。
示例代码 2:
public static void main(String[] args) throws IOException {
// 定义一个新的工作簿
Workbook wb = new HSSFWorkbook();
wb.createSheet("三年级(1)班学生名单");
wb.createSheet("三年级(2)班学生名单");
wb.createSheet("三年级(3)班学生名单");
FileOutputStream fos = new FileOutputStream(
"c:\\POI使用FileOutputStream输出流生成的工作簿.xls");
// 使用工作簿提供的 write 方法向文件输出流输出
wb.write(fos);
fos.close();
}
示例代码 3:
public static void main(String[] args) throws IOException {
Workbook wb = new HSSFWorkbook();
Sheet sheet1 = wb.createSheet("三年级(1)班学生名单");
Sheet sheet2 = wb.createSheet("三年级(2)班学生名单");
Sheet sheet3 = wb.createSheet("三年级(3)班学生名单");
// 使用 Sheet 接口创建一行
Row row = sheet1.createRow(0);
Cell c1 = row.createCell(0);
// 使用重载的方法为单元格设置值
c1.setCellValue(1);
Cell c2 = row.createCell(1);
c2.setCellValue(1.2);
Cell c3 = row.createCell(2);
c3.setCellValue("伟大的 POI 啊");
Cell c4 = row.createCell(3);
c4.setCellValue(false);
FileOutputStream fos = new FileOutputStream(
"c:\\POI使用FileOutputStream输出流生成的工作簿.xls");
wb.write(fos);
fos.close();
}