首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JXLS集工作表名

JXLS集工作表名
EN

Stack Overflow用户
提问于 2016-06-09 07:56:00
回答 3查看 2.5K关注 0票数 0

我想提供一种由命令指定工作表名称的方法。应根据工作表中的内容动态创建工作表名称。

我注意到,当使用每个-命令的multisheet属性时,可以为动态工作表指定固定的工作表名。

  1. 第1版文件中,引用了使用${workbook.setSheetName(0,department.name)}重命名工作表的能力。这可以在v2中使用吗?它应该怎么工作?工作簿是否需要添加到上下文中,还是以前是否可用?
  2. 我尝试在自定义命令中重命名工作表,但似乎在XlsArea中对工作表名称的依赖程度过高,以至于在XlsArea.applyAt过程中要更改该名称。模板表未被删除,处理也未完成。
  3. 我考虑尝试获得自定义命令,以添加一个区域侦听器来更改工作表名。但是,只在父区域调用区域侦听器,而我不能从命令中访问该区域。

谢谢,

韦恩。

EN

回答 3

Stack Overflow用户

发布于 2016-11-24 14:44:42

我怀疑这是正确的方法,但直到现在,这是我成功做到的唯一方法:

代码语言:javascript
运行
复制
Context context = PoiTransformer.createInitialContext();
Workbook workbook = WorkbookFactory.create(templateInputStream);
workbook.setSheetName(0, "newName");//Changing name of the first sheet
PoiTransformer transformer = PoiTransformer.createTransformer(workbook);
transformer.setOutputStream(resultOutputstream);
JxlsHelper.getInstance().processTemplate(context, transformer);
票数 2
EN

Stack Overflow用户

发布于 2016-06-09 13:22:59

如果使用多片生成特性,您只需将自己的CellRefGenerator传递给每个命令,并在其中动态创建工作表名。

目前,无法在Excel中传递CellRefGenerator,但是添加此功能应该非常简单。

或者可以使用CellRefGenerator代码设置,如文档所示。

票数 0
EN

Stack Overflow用户

发布于 2018-04-24 22:06:20

它可以用XLSTransformer类的折页法来实现。

代码语言:javascript
运行
复制
XLSTransformer transformer = new XLSTransformer();
setSpreadsheetToRename(oladSheetName, String newSheetName) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37720010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档