ApachePOI,通过java代码生成Excel报表
ApachePOI 介绍
需求说明
在企业级应用开发中,Excel报表是一种最常见的报表需求。Excel报表开发一般分为两种形式:
1、为了方便操作,基于Excel的报表批量上传数据
2、通过java代码生成Excel报表。
常见的Excel操作工具
Java中常见的用来操作Excl的方式一般有2种:JXL和POI。
JXL只能对Excel进行操作,属于比较老的框架,它只支持到Excel 95-2000的版本。现在已经停止更新和维护。
POI是apache的项目,可对微软的Word,Excel,Ppt进行操作,包括office2003和2007,Excl2003和2007。poi现在一直有更新。所以现在主流使用POI。
什么是POI
Apache POI是Apache软件基金会的开源项目,由Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java语言操作Microsoft Office的功能。
Apache POI是目前最流行的操作Microsoft Office的API组件,借助POI可以方便的完成诸如:数据报表生成,数据批量上传,数据备份等工作。
ApachePOI 入门案例
步骤
创建项目poi_demo
添加依赖
编写测试类,实现导出excel、导入excel
1.创建项目poi_demo
2.添加依赖
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yk</groupId>
<artifactId>poi_demo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
3.编写测试类,实现导出excel、导入excel
package com.yk.test;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.junit.Test;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class TestPoi {
@Test//导出Excel
public void TestWrite() throws IOException {
//1.工作簿
Workbook wb = new XSSFWorkbook();
//2.工作单
Sheet sheet = wb.createSheet("货物清单");
//3.行
Row row = sheet.createRow(0);
//4.列
Cell cell = row.createCell(0);
cell.setCellValue("生产厂家");
Cell cell2 = row.createCell(1);
cell2.setCellValue("货号");
Cell cell3 = row.createCell(2);
cell3.setCellValue("数量");
wb.write(new FileOutputStream("d:/test.xlsx"));
}
@Test//读取Excel
public void TestRead() throws IOException {
//1.工作簿
Workbook wb = new XSSFWorkbook(new FileInputStream("d:/test.xlsx"));
//2.工作单
Sheet sheet = wb.getSheet("货物清单");
//3.行
Row row = sheet.getRow(0);
//4.列
System.out.println(row.getCell(0).getStringCellValue());
System.out.println(row.getCell(1).getStringCellValue());
System.out.println(row.getCell(2).getStringCellValue());
}
}
以上是 ApachePOI,通过java代码生成Excel报表 的全部内容, 来源链接: utcz.com/z/395042.html