Tag: jxls

如何格式化一个dynamic生成的单元格

我试图用jXLS库生成一个dynamic的excel报告。 下面是我用作input的jXLS模板。 |<jx:forEach items="${headers1}" var="header"> | ${header.headerText} | </jx:forEach>| |<jx:forEach items="${rows1}" var="rowItem"> | | | |<jx:forEach items="${rowItem.columns}" var="cell">| ${cell.value} |</jx:forEach> | |</jx:forEach> | | | 有了这个,我能够生成与查询结果集和值返回的列一样多的excel报告。 但是我面临的问题是如果列是date列,如何格式化单元格。 我无法将jXLS模板中的格式应用为表示报表中所有单元格的单个单元格。 这里是Cell.java的定义 public class Cell { public Cell(Object value) { super(); this.value = value; } private Object value; public Object getValue() { return value; } public void setValue(Object […]

Jxls或Jett:如何呈现父节点上的公式树?

有没有办法使用JXLS(或JETT)为分层树生成报告? 例如,模型是这样的: -node1 –node11 –node12 —node121 —node1211 –node13 -node2 我需要用两列来呈现结果: | node name | node value | node1 | =sum(node11, node12, node13) | node11 | 5 | node12 | =sum(node121) | node121 | =sum(node1211) | node1211 | 10 | node13 | 15 | node2 | 20 …. 我不知道树中嵌套层次的数量。 我的问题是,对于每个父节点,Excel中呈现的值必须是具有直接子元素总和的公式……等等。 只有叶节点必须使用实际的节点值进行渲染。 谢谢

Jxls:如何以编程方式定义模板并在变换器中使用?

我正在使用Jxls输出数据到Excel。 没有。 的列不是固定的,取决于谁在调用它。 那么如何以编程方式定义模板? 在Jxls文档中,有三种方法,使用excel标记,xml标记和Java Apis。 使用Java Apis,定义了XmlArea,但其中一个构造函数将变换器作为参数 public XlsArea(AreaRef areaRef, Transformer transformer); public XlsArea(String areaRef, Transformer transformer); public XlsArea(CellRef startCell, CellRef endCell, Transformer transformer); public XlsArea(CellRef startCellRef, Size size, List<CommandData> commandDataList, Transformer transformer); Transformer constructor需要一个inputinputstream ,它需要一个template文件。 InputStream in = IdGenre.class.getResourceAsStream("/xlsTemplates/IdGenre/IdGenreTemplate.xlsx"); Transformer transformer = TransformerFactory.createTransformer(in, out); 根据我的理解, template是在哪里定义了什么值在列中。 使用SimpleExporter : try(OutputStream os1 = new FileOutputStream("target/simple_export_output1.xls")) […]

如何将JXLS从版本1迁移到2

JXLS 2没有向后兼容版本1.没有升级说明,虽然我可以使用版本二的东西,我有两个问题。 版本1不需要使用评论标签,但现在我无法得到没有它们的输出。 Java代码必须指定要写入结果的工作表位置,在版本1中,输出写在不需要在Excel和Java代码中重复模板设置的模板之上。 如果我找不到这两个问题的解决方法,我将不得不去改变每一个模板来使用评论。 但更糟的是,我还必须让我的java代码知道模板工作表布局。 我不明白为什么这是默认行为。 有什么办法让版本2更像版本1?

JXLS在每个命令中使用if-command时丢失行

使用的版本 poi:3.15 jxls:2.4.0 jxls-poi:1.0.12 这是一个模板,可以简单地重现问题。 请注意,我正在使用JXLS的多页function。 当if条件为真(站点有地址)时,结果按预期显示 但是当它是假的,没有地址显示,我失去了2行,数字7和8,取而代之的空白行。 结果 任何人都已经遇到这样的问题? 我在使用JXLS创build表单的过程中犯了一个错误吗? public class Test { public static void main(String[] args) throws Exception { String first = "Bob"; String last = "John"; String phone = ""; List<Person> personList = new ArrayList<>(); for (int i=1 ; i<10 ; i++) { personList.add(new Person(first + i, last + i, […]

使用db连接创build一个.xlsx

我正在用这个代码成功地创build带有Apache POI的导出文件(至今为.xls) Connection conn = …// get database connection in some way Map beans = new HashMap(); ReportManager rm = new ReportManagerImpl( conn, beans ); beans.put("rm", rm); InputStream is = new BufferedInputStream(new FileInputStream("reportTemplate.xls")); XLSTransformer transformer = new XLSTransformer(); HSSFWorkbook resultWorkbook = transformer.transformXLS(is, beans); 从这里检索。 但是现在我的问题是:是否有可能为.xlsx获得完全相同的内容? 我在网上找不到任何关于这个的东西,但是如果我是第一个需要这个东西的人,我会感到吃惊的。

jXLS 2.3 – 添加侦听器根据单元格内容更新单元格样式?

有一个jXLS 1.xdynamic单元格样式的例子,但我找不到比这个例子更接近AreaListener。 我有一个XLS生成非常基本的模板,并且处理代码就像 context.putVar("headers", columns); context.putVar("data", cells); context.getConfig().setCellStyleMap(); JxlsHelper.getInstance().processTemplate(is, result, context); 我怎样才能添加一些侦听器,这将允许我修改某些单元格的样式(比如为文本添加超过N个字符的单词换行,或者如果值是特定模式则更改背景颜色)?

在java中使用jxls编写大量的行

我正在使用下面的代码来写入数据到Excel XLSTransformer transformer = new XLSTransformer(); InputStream is = this.getServlet().getServletContext() .getResourceAsStream(templateFilePath); HSSFWorkbook workBook = (HSSFWorkbook) transformer.transformXLS(is, beans); 但是系统挂起后HSSFWorkbook workBook =(HSSFWorkbook)transformer.transformXLS(is,beans); 如果行数大于1500.是否有任何其他方式或suggetsion写数据使用模板和bean对象的大型数据集

Spring,JXLS:XLS转换器不加载,尽pipe存在依赖关系。

我正在尝试使用JXLS ,这是一个Java库,用于在Spring-MVC项目中创buildexcel文件和其他操作。 当我尝试从某些数据中创build一个excel文件时,出现以下错误: 错误日志: java.lang.IllegalStateException: Cannot load XLS transformer. Please make sure a Transformer implementation is in classpath at org.jxls.util.JxlsHelper.createTransformer(JxlsHelper.java:200) at org.jxls.util.JxlsHelper.processTemplateAtCell(JxlsHelper.java:118) at com.journaldev.spring.service.GroupNotesServiceImpl.saveGroupNotesToExcel(GroupNotesServiceImpl.java:917) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) 代码: @Override public void saveGroupNotesToExcel(int msectionid){ List<GroupNotes> groupNotesList = this.groupNotesDAO.listGroupNotesBySectionId(msectionid); try(InputStream is = GroupNotesServiceImpl.class.getResourceAsStream("/home/path/to/jls/test.xls")) { try (OutputStream os = new […]

如何在Excel中对dynamic创build的单元格区域的列进行求和

在Excel电子表格中使用jxls forEach循环创build了许多行。 在这些行的每一行中,都有一组使用forEachdynamic创build的列。 所以,基本上一个细胞变成了几个细胞的范围和一些细胞下来。 在每个生成的单元格列的底部,我想要一个总和公式来总结列。 如果我把SUM(C3)放在细胞变成很多细胞的时候,我会得到一个错误,你不能SUM(C3:E3:C5:E5)或者是那个效果。 根据官方网页: http ://jxls.sourceforge.net/reference/formulas.html,jxls足够聪明地调整你的总和,当单元格变成一个范围下降,也跨越,但不是两个。 我还要提到,我希望forumlae坚持单元格,而不是只产生总和,所以如果我编辑上面的单元格,它会在下面的总数更新。 有谁能帮我解决这个问题吗? 此外,使用r1c1引用没有工作,因为当我导出A1的默认引用设置在Excel中,并将为任何人使用这种方式设置。 我试图设置启动macros使用r1c1单元格引用,但无济于事。