/**
* 创建Excel,支持.xls格式,当数据小于30000条,该方法完全没问题
* 最大支持65535条数据,Excel2003最大支持数据条数
* @param title 表名称
* @param head 数据标题
* @param list 数据集合
* @return Excel
*/
public static HSSFWorkbook createExcel(String title, Map<String, String> head, List list){
HSSFWorkbook workbook = new HSSFWorkbook();
//创建工作表
HSSFSheet sheet = workbook.createSheet(title);
//添加表头
HSSFRow row = sheet.createRow(0);
//设置单元格格式
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(HorizontalAlignment.CENTER);
//添加表头内容
List<String> cells = createHeadCell(row, head, cellStyle);
//遍历数据集
createDataCell(sheet, list, row, cellStyle, cells);
return workbook;
}
/**
* 创建Excel,仅支持.xlsx格式 Excel2007 之后
* @param title 表名称
* @param head 数据标题
* @param list 数据集合
* @return Excel
*/
public static SXSSFWorkbook createBigExcel(String title, Map<String, String> head, List list){
SXSSFWorkbook workbook = new SXSSFWorkbook();
//创建工作表
SXSSFSheet sheet = workbook.createSheet(title);
//添加表头
SXSSFRow row = sheet.createRow(0);
//设置单元格格式
CellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(HorizontalAlignment.CENTER);
//添加表头内容
List<String> cells = createHeadCell(row, head, cellStyle);
//遍历数据集
createDataCell(sheet, list, row, cellStyle, cells);
return workbook;
}
private static void createDataCell(Sheet sheet, List list, Row row, CellStyle cellStyle, List<String> cells){
Cell cell;
for (int i = 0; i < list.size(); i++) {
row = sheet.createRow(i + 1);
Object t = list.get(i);
try {
for (int j = 0; j < cells.size(); j++) {
Field field = t.getClass().getDeclaredField(cells.get(j));
Class<?> type = field.getType();
String fieldName = field.getName();
String methodName;
if (boolean.class == type) {
methodName = "is" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);
} else {
methodName = "get" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);
}
Method method = t.getClass().getMethod(methodName);
//创建单元格并设置值
cell = row.createCell(j);
cell.setCellStyle(cellStyle);
if (Integer.class == type) {
Integer value = (Integer) method.invoke(t);
cell.setCellValue(value);
} else if (String.class == type) {
String value = (String) method.invoke(t);
cell.setCellValue(value);
} else if (Long.class == type) {
Long value = (Long) method.invoke(t);
cell.setCellValue(value);
} else if (Short.class == type) {
Short value = (Short) method.invoke(t);
cell.setCellValue(value);
} else if (Character.class == type) {
Character value = (Character) method.invoke(t);
cell.setCellValue(value);
} else if (Double.class == type) {
Double value = (Double) method.invoke(t);
cell.setCellValue(value);
} else if (Date.class == type) {
Date value = (Date) method.invoke(t);
cell.setCellValue(value);
} else if (Boolean.class == type) {
Boolean value = (Boolean) method.invoke(t);
cell.setCellValue(value);
}
}
} catch (Exception e) {
log.error("创建Excel文件发生异常》》》》》》》》", e);
}
}
}
private static List<String> createHeadCell(Row row, Map<String, String> head, CellStyle cellStyle){
Cell headCell;
int cellNum = 0;
List<String> cells = new ArrayList<>();
for (Iterator<String> iterator = head.keySet().iterator(); iterator.hasNext();) {
String name = iterator.next();
cells.add(name);
headCell = row.createCell(cellNum);
headCell.setCellStyle(cellStyle);
headCell.setCellValue(head.get(name));
cellNum ++;
}
return cells;
}
相关推荐
Apache poi操作Excel简单入门
什么是Apache POI?这里借用百度百科的解释:pache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。Excek版本的区别!!!Excel分为以下两个版本:HSSF - 提供读写Microsoft Excel XLS格式档案的功能。
POI创建excel
创建文件 package Yue.fayang.excel; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Row; import java.awt.geom.Area; import ja.
POI创建多个sheet的Excel文件
前言 最近项目上有个需求,需要导出员工的考勤报表,需要两个模块,一个考勤的统计,一个考勤记录详情,导出的时候需要同时包含两部分内容。但平时做的都是只导出一个sheet,搜集一些资料经过自己的整合特此记录一下。 代码 废话不多说先上工具类代码。 import java.io.IOException; import java.util.List; import org.apache.p...
java POI操作Excel
java读写excel,包含各个版本的excel,含web下载
Fedora 41上安装钉钉7.6.25,我踩过的那些依赖坑和最终解决方案
本文详细记录了在Fedora 41上安装钉钉7.6.25版本的全过程,包括解决依赖问题、转换deb包为rpm格式、处理libm.so.6错误等关键步骤。通过分享这些实用技巧和最终解决方案,帮助Linux用户顺利在Fedora系统上运行钉钉客户端,提升工作效率。
网易CodeWave智能生成应用实战:5分钟搞定库存管理系统(附详细配置截图)
本文详细介绍了如何利用网易CodeWave智能生成应用在5分钟内快速构建定制化库存管理系统。通过自然语言描述需求,无需编程即可生成包含产品管理、库存预警等核心功能的应用,并支持字段微调、业务流程注入等深度优化。文章附有详细配置截图,帮助用户高效实现数字化转型。
利用POI创建Excel文件
最近自学了利用POI创建Excel文件,并成功的写出了XLS文件,现分享出来,大家共同学习。 在eclipse的集成开发环境中,将下载好的POI中的jar包导入到指定的java工程项目中。一切准备就绪,即可开始写代码了。 我要完成创建的文件内容以下截图给出: 方法如下: 1,创建Data类,以保存从第四行起每行的数据。 package com.liu.p1; p
手把手教你搭建硬件在回路(HIL)仿真系统:从Simulink建模到实时测试
本文详细介绍了如何从零开始搭建硬件在回路(HIL)仿真系统,涵盖Simulink建模、实时仿真、代码生成及调试等关键步骤。通过具体配置示例和优化技巧,帮助开发者解决复杂控制系统验证中的技术难题,提升半实物仿真的效率和可靠性。
使用POI创建一个excel文件
使用POI创建一个excel文件 使用文件输出流也可以创建一个xls文件,但是会经常出现乱码问题.使用POI就很方便了. 引入pom依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifact...
软件工程导论考试通关秘籍:太原理工大学历年真题解析(附答案)
本文为太原理工大学《软件工程导论》考试提供高效备考指南,通过解析近六年真题,揭示高频考点如软件生命周期、UML建模和结构化设计等核心模块的命题规律。文章提供真题拆解、实战策略和避坑指南,帮助考生掌握图形转换题和简答题的应答技巧,助力考试通关。
智能车竞赛必备:STC32G144K开源库实战指南(含总钻风摄像头配置)
本文为智能车竞赛参赛者提供了一份基于STC32G144K微控制器与逐飞开源库的实战开发指南。文章详细介绍了从开发环境搭建、总钻风摄像头驱动配置与图像采集优化,到核心控制算法实现与多任务调度等关键步骤,旨在帮助队伍快速构建稳定高效的视觉处理系统,提升竞赛竞争力。
Spring Boot集成Poi:创建Excel文件的完整教程
本文将介绍如何使用Spring Boot集成Poi,实现创建Excel文件的完整教程。通过添加Poi依赖、创建Excel文件和将Excel文件写入磁盘等步骤,我们可以快速了解Poi的用法,方便我们在开发过程中使用Poi操作Excel文件。本文还提供了一个完整的示例程序,让我们可以更加深入地了解Poi的使用方式。通过上述步骤,我们成功地集成了Poi,并完成了一个简单的Excel文件的创建。这个案例只是Poi的冰山一角,Poi还可以用于读取和修改现有的Excel文件,操作Word和PowerPoint文件等。
PCL K4PCS算法实现点云粗配准【2026最新版】
K4PCS算法实现点云粗配准。博客长期更新,本文最近一次更新时间为:2026年5月4日。
java poi 创建 excel_java使用poi创建excel文件
import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.a...
风-车-桥耦合随机振动预测框架:从物理模型到高效代理
本文提出了一种风-车-桥耦合随机振动预测的混合框架,结合物理模型与代理模型实现高效计算。该框架的核心数学本质是时变参数-随机激励-高维动力系统,主要解决三大计算难点:自由度规模悬殊、时变特性和随机性传播。系统采用分层解耦-代理加速的技术路线,底层基于物理模型建立车辆运动方程和桥梁运动方程,上层通过深度学习代理实现随机激励到响应的端到端映射。文中详细介绍了随机激励建模(包括脉动风速和路面不平度)、子系统建模、耦合求解方法,并提供了可运行的Python代码实现。该框架可显著提高风-车-桥系统随机振动分析的效率,
《UDS协议从入门到精通》系列——图解0x19:读取故障码信息
认识最核心的诊断服务“0x19”!!全网最强图解!一文搞懂所有常用子服务!
java利用poi创建excel文件并写入数据
//定义表头 String[] title={"序号","姓名","年龄"}; //创建excel工作簿 HSSFWorkbook workbook=new HSSFWorkbook(); //创建工作表sheet HSSFSheet sheet=workbook.createSheet(); //创建第一行 HSSFRow row=sheet.createRow(0); HSSFCell cel
廖雪峰Python教程[完整版]
廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白
POI创建和读取excel文件
Poi创建excel文件所需jar:poi-3.11-20141221.jar commons-io-2.2.jarpublic class PoiExpExcel { /** * POI生成Excel文件 */ public static void main(String[] args) { String[] title = {"...
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
poi方式创建Excel文件
1 package poi; 2 3 import java.io.File; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.text.SimpleDateFormat; 7 import java.util.Date; 8 9 import o...
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
使用 poi 初步——创建和编辑excel文件
创建和设置exel的格式等简单程序,里面有详细说明:import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.C
java poi 创建 excel,java POI创建Excel文件及Sheet
一、代码//Workbook wb = new XSSFWorkbook();//FileOutputStream fileOut = new FileOutputStream("E:\\standarcode\\workbook.xlsx");Workbook wb = new HSSFWorkbook();FileOutputStream fileOut = new FileOutputStr...
JAVA开发 通过apache.poi库创建Excel文件(简单版)
是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
java使用poi创建excel文件
import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.a...
Jakarta POI 创建读取Excel文件
关键字: POI 读取Excel文件//--------------------------------------------------------------创建Excel文件---------------------------------------------------------------//package com.kingo.poi;import java.io.FileO
Java Struts2 POI创建Excel文件并实现文件下载
出处:http://blog.youkuaiyun.com/zht666/article/details/11091505 在做管理系统的时候,经常会用到文件的下载,特别是Excel报表的创建与下载,下面就来简单演示一下,Struts2实现的Excel文件的下载功能。 由于本实验是要动态创建Excel文件,因此需要一些jar: Java读写Excel的包是Apache POI(项目地址:http:...
1495



被折叠的 条评论
为什么被折叠?



