当前位置: 首页 > news >正文

POI报表

一、POI概述

1. POI概述

POI报表通常指基于Apache POI(Poor Obfuscation Implementation)库生成的电子表格或文档报表。Apache POI是一个开源的Java API,用于操作Microsoft Office格式文件(如Excel、Word)。在业务场景中,POI报表常用于数据导出、批量打印或动态生成结构化文档。

应用场景

1. 数据报表生成。即将数据以Excel的形式导出。

2. 数据备份。

3. 数据批量上传。

2. Excel的两种形式

目前市面上的Excel分为两个大的版本,分别是Excel2003和Excel2007两个版本,之所以分为这两个版本是因为Excel底层的实现不一样。当然,区分这两个版本可以用后缀判断。

Excel 2003Excel 2007
后缀xlsxlsx
结构二进制格式,其核心结构是复合文档类型的结构xml类型结构
单sheet数据量65535 行; 256列1048576行;16384列
特点存储容量有限基于xml压缩,占用内,存小,操作效率高

3. 常见的Excel操作工具

常见的操作工具有两种,分别是JXL和POI。

  • JXL: 只能对Excel进行操作,属于比较老的框架,它只支持到Excel95-2000的版本,现在已经停止更新和维护了。
  • POI: 是apache的项目,对Word、Excel、PPT进行操作,包括office2003和2007, Excel 2003和 Excel2007。POI现在一直在维护,所以一般使用POI。

4. POI API 介绍

API描述
Workbook   Excel的文档对象,针对不同的Excel类型分为:HSSFWorkbook(2003)和
XSSFWorkbool (2007)
SheetExcel的表单
RowExcel的行
CellExcel的格子单元
FontExcel字体
CellStyle格子单元样式

5. POI 结构说明

HSSF提供读写Microsoft Excel XLS格式档案的功能。
XSSF提供读写Microsoft Excel OOXMLXLSX格式档案的功能。
HWPF提供读写Microsoft Word DOC格式档案的功能。
HSLF提供读写Microsoft PowerPoint格式档案的功能。
HDGF提供读Microsoft Visio格式档案的功能。
HPBF提供读Microsoft Publisher格式档案的功能。
HSMF提供读Microsoft Outlook格式档案的功能。

 二、POI入门案例

1. 将数据导出到Excel

1. 生成Excel表

1. 引入meven依赖

<!-- POI,对Excel操作-->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.2</version>
</dependency>
<!-- 由于Excel内核有2003和2007版本,这里导入的2007,基于xml格式的依赖-->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.2</version>
</dependency>
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>4.1.1</version>
</dependency>

2. 在测试类中编写如下代码,运行后可以在指定的路径找到生成的excel表。

 /*POI测试*/@Testpublic void testPOI() throws IOException {// 1. 创建工作簿, HSSFWorkbook 是2003版本; XSSFWorkbook 2007版本XSSFWorkbook wb = new XSSFWorkbook();//2. 创建表sheetXSSFSheet sheet = wb.createSheet("测试");//3. 文件流FileOutputStream fis = new FileOutputStream("Z:\\excel\\员工导出.xlsx");//4. 写入文件wb.write(fis);//5. 关闭流fis.close();}

 2. 写入数据

当然,上面只是生成了一个Excel文档,但并没有在表格里写入数据。

http://www.dtcms.com/a/270359.html

相关文章:

  • Paimon本地表查询引擎LocalTableQuery详解
  • Mybits-plus 表关联查询,嵌套查询,子查询示例演示
  • 使用策略模式 + 自动注册机制来构建旅游点评系统的搜索模块
  • 音频被动降噪技术
  • Spring AI:ETL Pipeline
  • STM32-USART
  • 图像噪点消除:用 OpenCV 实现多种滤波方法
  • jmeter 性能测试步骤是什么?
  • 【深度学习新浪潮】什么是上下文长度?
  • MQTT QoS 2 详细流程解析
  • 爬虫-request处理POST
  • pytorch深度学习-ResNet残差网络-CIFAR-10
  • 利用AI技术快速提升图片编辑效率的方法
  • Mapper接口是什么
  • HarmonyOS从入门到精通:自定义组件开发指南(四):组件状态管理之父子组件通信
  • 跨越十年的C++演进:C++23新特性全解析
  • VR法庭相比传统法庭有哪些优势​
  • WebClient与HTTPInterface远程调用对比
  • 第8章:应用层协议HTTP、SDN软件定义网络、组播技术、QoS
  • SPI / I2C / UART 哪个更适合初学者?
  • 通过“逆向侦测”驾驭涌现复杂性的认知架构与技术实现
  • 短视频矩阵管理平台的崛起:源头厂商的深度解析
  • C# Type.GetProperties() 获取不到值的笔记
  • SQL注入与防御-第六章-2:利用操作系统--执行操作系统命令
  • 图像梯度处理与边缘检测:OpenCV 实战指南
  • 【牛客刷题】小红的v三元组
  • FastAPI Docker环境管理脚本使用指南
  • 虚拟机忘记密码怎么办
  • nmon使用方法
  • 征程 6|工具链量化简介与代码实操