JXLS 多个sheet

jxls Excel表格导出( 模板导出多个sheet) 1.使用jxls-core jar包来实现(jxls-core不支持POI4以上的版本) 1.1 maven <dependency> <groupId>net.sf.jxls</groupId> <artifactId>jxls-core</artifactId> <version>1.0.6</version> </dependency> //打包时对像xlsx文件过滤 < 阅读详情

1.java代码

package com.knife.jxls;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

import org.jxls.common.Context;
import org.jxls.util.JxlsHelper;

import com.knife.jxls.TestJxls.Foo;

public class TestJxlsSheet {

	
	public static class Foo {

		public String id;
		public String name;
		public int age;

		public Foo(String id, String name, int age) {
			this.id = id;
			this.name = name;
			this.age = age;
		}

	}

	public static void main(String args[]) throws IOException {

		List<Foo> foolist=new ArrayList<Foo>();
		foolist.add(new Foo("001","lee",11));
		foolist.add(new Foo("002","wang",14));
		foolist.add(new Foo("003","zhang",19));
		
		List<String> sheetNames= new ArrayList<String>();
		sheetNames.add("001");
		sheetNames.add("002");
		sheetNames.add("003");
		
		InputStream in = new FileInputStream("H:\\template.xlsx");
		OutputStream out = new FileOutputStream("H:\\test1.xlsx");
		Context context = new Context();
		context.putVar("foolist", foolist);
		context.putVar("sheetNames", sheetNames);
		JxlsHelper.getInstance().processTemplate(in, out, context);
	}
	
}

2.批注

jx:area(lastCell = "C3")
jx:each(items="foolist", var="foo", lastCell="C3" multisheet="sheetNames")

3.结果

模板:

输出文件:

此时会多出一个空白sheet

需要重写jslx的一个函数来解决,代码如下:

public void processTemplate(Context context, Transformer transformer) throws IOException {

		AreaBuilder areaBuilder = this.getAreaBuilder();
		boolean processFormulas = this.isProcessFormulas();

		areaBuilder.setTransformer(transformer);
		List<Area> xlsAreaList = areaBuilder.build();
		Iterator var4 = xlsAreaList.iterator();

		Area xlsArea;
		while (var4.hasNext()) {
			xlsArea = (Area) var4.next();
			xlsArea.applyAt(new CellRef(xlsArea.getStartCellRef().getCellName()), context);
		}

		if (processFormulas) {
			var4 = xlsAreaList.iterator();

			while (var4.hasNext()) {
				xlsArea = (Area) var4.next();
				this.setFormulaProcessor(xlsArea);
				xlsArea.processFormulas();
			}
		}

		if (this.isDeleteTemplateSheet()) {
			transformer.deleteSheet("Sheet3");
		}

		transformer.write();

	}

 

根据excel 模板导出excel,jxls 实现 合并单元格,多个不同类型的sheet java jxls实现模板导出,多sheet导出,不同sheet不同数据 阅读详情

相关推荐

JxlsDemo:Jxls多sheet页demo

JxlsDemo Jxls多sheet页demo 1.解决了多sheet页导出时候模板定义页无法删除,无法隐藏 2.新增冻结窗口接口 example: //JxlsHelper helper = JxlsHelper.getInstance(); //helper.setSourceSheetName("template"); //helper.setFreezePane(0, 1, 0, 1).setDeleteTemplateSheet(true).processTemplate(is, os, context); helper.setSourceSheetName("template"); 定义模板页名称,默认是创建excel时指定的sheet1,若修改,需通过setSourceSheetName("template")设置 helper.setFreezePane(0, 1, 0,

jxls使用(二)——Multiple Sheets

      jxls在生成Excel文件时,提供一个批量生成Excel Sheet的功能,即可以一次生成一个包含多个Sheet的Excel文件。但是,jxls在处理这类操作的时候会出现性能问题,当一次形成的Excel的Sheet数量超过500个的时候就会出现很严重的性能问题,运算到最后,系统会提示OutOfMemeroyError,这种问题的出现是由于jxls的实现方式决定的。         如...

李继业 1381

jxls帮助文档

jxls 导出

使用jxls excel模板填充生成Excel,多sheet页处理

还能支持函数 分组等等功能,可以自行查阅官方文档,简单的模板导出执行这里就够用了,对于多sheet页也是支持的,不需要单独设置,参数公用, 这里也有一个 easyExcel和jxls的简单对比。在调研Excel模板填充导出的时候,先调研了一下国内的esayExcel模板填充导出,见上一篇,也调研了一下国外开发的一款模板工具类,jxls 官网地址如下,jxls 相对于easyExcel,功能还是强大一些,唯一需要注意的是,需要添加批注,首先我们看一下jxls的Excel模板信息。...

huqiankunlol的博客 4148

官方jxls-2.4.1

官方jxls-官方jxls-2.4.1官方jxls-2.4.1官方jxls-2.4.1官方jxls-2.4.1官方jxls-2.4.12.4.1官方jxls-2.4.1

jxls实现多sheet的报表导出-附件资源

jxls实现多sheet的报表导出-附件资源

jxls 多个sheet 生成

jxls 多个sheet 生成    jxls在生成Excel文件时,提供一个批量生成Excel Sheet的功能,即可以一次生成一个包含多个Sheet的Excel文件。但是,jxls在处理这类操作的时候会出现性能问题,当一次形成的Excel的Sheet数量超过500个的时候就会出现很严重的性能问题,运算到最后,系统会提示OutOfMemeroyError,这种问题的出现是由于jxl

layman1024的博客 4829

Jetson平台XDMA PCIe驱动安装与测试全指南

本文提供了一份在NVIDIA Jetson平台上安装与测试Xilinx FPGA XDMA PCIe驱动的完整指南。详细阐述了驱动作为高速DMA引擎的核心作用,并逐步讲解了从环境准备、驱动编译、内核模块加载到实际数据传输测试的全过程。内容涵盖常见问题排查与性能优化建议,帮助开发者实现Jetson与FPGA间的高速数据通信,适用于自动驾驶、工业视觉等需要异构计算的应用场景。

weixin_29196315的博客 527

JXLS模板导出多个sheet文件

/** * 宋发准:这个方法主要用于根据模板导出多个sheet的excel文件. * * @param inputStream:输入流:用于输入模板 * @param response:用于下载 * @param filename:文件名 * @param sheetNamelist:sheet名称,注意:list的size决定了sheet的个数. * @param objects:用于输出的文件...

blueAndSmile的博客 1437

STM32F407与AD7766实战:如何用SPI+DMA实现高速ADC数据采集(附完整代码)

本文详细介绍了如何利用STM32F407的SPI接口与DMA控制器,高效稳定地驱动24位高精度ADC芯片AD7766,实现高速连续数据采集。通过对比传统中断方式的瓶颈,阐述了SPI+DMA方案如何大幅降低CPU负载,并提供了从硬件设计、CubeMX配置到核心驱动代码的完整实战指南,帮助工程师解决高速ADC数据采集中的性能难题。

weixin_29281941的博客 189

Mac上快速部署DeepSeek模型:Ollama终端操作全指南

本文详细介绍了在Mac上使用Ollama终端快速部署DeepSeek模型的完整指南。从硬件要求、Ollama安装、模型下载运行,到高级配置、可视化界面及常见问题解决,提供了全流程操作步骤与优化技巧,帮助开发者高效搭建本地AI助手,实现稳定、私密的离线使用体验。

weixin_29251567的博客 551

JXLS写入一份excel多个sheet实例

为了让打印小哥,不需要一张张频繁打开打印,因此,需要开发将100多人的成绩单写入一份excel,每人一个sheet。由于基础导出技术栈使用的jxls,因此,就直接用到了多个sheet写入了。遇到一麻烦需求,客户需要同时打印多分excel,有的甚至高达100多份,本来excel支持多个excel同时打印,但是很遗憾,客户的打印电脑太久远了,打印失败崩溃。multisheet="sheetNames" 此处决定是否是分sheet。Excel模板 duoSheetTemplate.xlsx。

weixin_43929696的博客 1227

MacOS上如何修改jupyter book的默认打开地址以及如何复制文件路径

记点笔记,才换新系统小半年,还是不太熟悉,所以记录一下笔记,感觉之后也会用到,希望能帮到你们。主要内容是:修改jupyter的默认地址以及复制文件路径。

魔仙的博客 1978

Springboot——jxls实现同sheet多个列表展示

在之前的博客中Springboot——使用jxls实现excel模板导出excel,具体说明了jxls框架的基本使用。除了最简单的单列表展示外,jxls还具有同sheet页展示多个列表的能力,接下来一起继续探究。

专注写bug 1738

风控域——知识图谱相关原理

本文全面介绍了知识图谱在风控领域的应用原理。从基础知识入手,阐述了知识图谱的定义、概念及应用场景,重点聚焦于金融风控。进一步讲解了知识图谱的技术架构,涵盖计算、融合与构建等方面。深入探讨了知识表示、建模、抽取、挖掘、存储、融合、检索和推理等关键技术原理,并结合金融风控实际需求,详细说明了各技术环节的具体应用方法与流程,为构建高效风控知识图谱提供了理论与实践指导。

庄小焱 608

【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦

好了,关于 【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。1、手动下载对应版本到 pyenv-win\install_cache 目录(如上手动操作安装步骤,文件名需匹配,如 python-3.10.0-amd64.exe)。该指令会列出,pyenv包管理工具所支持的所有python版本,

Spring Boot-Common On With You 852

jxls多个sheet表_文件中Sheet太多怎么看比较方便?

在工作中有的表格文件中会有很多很多sheet,看起来极其麻烦,那么怎么快速定位到具体的一个sheet呢?其实关于工作表的操作,有一些快捷键可以帮我们减轻这种麻烦,比如ctrl键:如上图所示:可以按住CTRL键,然后按右下角的三角符号,可以快速跳转到第一个或者最后一个sheet;按住CTRL可以连续选择多个sheet;如果要选择连续的多个,需要按住SHIFT键。在右下角那里直接点击右键,可以快速查看...

weixin_34208121的博客 1853

以太网_RGMII接口与GMII接口的转化_03

RGMII接口转GMII接口!

weixin_42499230的博客 378

jxls生成多sheet(解决多sheet页边距问题)

jxls生成多sheet方法,解决多sheet插入图片设置问题,解决多sheet页边距问题,解决多sheet生成多余空白页问题

kpgly的专栏 3957

手把手教你学Simulink实例--基于Simulink的电动汽车无线充电效率优化仿真

​市场规模:2025年全球无线充电市场规模将达$27亿(MarketsandMarkets数据)​技术标准Qi v1.3(最高150W)WiTricity(200W动态功率)ISO 17163(道路车辆无线充电)​节能效果:每kWh充电减少120W损耗(按每天8小时)​成本分析线圈成本:35vs58(传统方案)效率提升带来的续航增加:15km/100km。

xiaoheshang_123的博客 345

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JXLS2同一个sheet多个表格循环覆盖下面表格数据问题

【代码】JXLS2同一个sheet多个表格循环覆盖下面表格数据问题。

weixin_43829047的博客 752

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

问题解决:jxls多sheet导出,多余一个空白sheet页

一、项目需求 1、需求 用户勾选多个业务单,导出Excel,一个业务单占据一个sheet页。 2、预期效果 3、实际效果 采用 jxls-2.3.0.jar的导出方法:JxlsHelper.getInstance().processTemplate(is, os, context); 导出Excel成功之后,多余一个空白sheet页,占据第一个位置。 二、问题解决 1、 原因: jxls-2...

旅途 1740

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

jxls多sheet导出

使用jxls实现公用一个模板文件,导出包含多个sheet的Excel。   导出的Excel中包含三个sheet:Table,View,Sequence public void exportCompareResult(){ XLSTransformer transformer = new XLSTransformer(); // 模板输入流 InputStream in = Ge...

furt_86的博客 1251
上一篇: JXLS 图片
下一篇: docker 制作springboot镜像
knife1220
博客等级 码龄15年 33粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值