当前位置: 首页 > 面试题库 >

JasperReports导出到Excel自动大小列

荣德厚
2023-03-14
问题内容

我对JRXlsExporter有问题。自动调整属性无法正常工作。这是我的jrxml:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="templ" language="groovy" pageWidth="1100" pageHeight="1400" columnWidth="1060" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isSummaryNewPage="true" isSummaryWithPageHeaderAndFooter="true" uuid="683fcccd-cd5a-4e1d-a085-b49c54c13fff">
    <property name="ireport.zoom" value="1.2100000000000029"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>
    <property name="net.sf.jasperreports.export.xls.detect.cell.type" value="true"/>
    <property name="net.sf.jasperreports.print.keep.full.text" value="true"/>
    <property name="net.sf.jasperreports.export.xls.wrap.text" value="false"/>
    <property name="net.sf.jasperreports.export.xls.auto.fit.row" value="true"/>
    <property name="net.sf.jasperreports.export.xls.auto.fit.column" value="true"/>
    <queryString language="SQL">
        <![CDATA[]]>
    </queryString>
</jasperReport>

Java代码:

excelExporter.setParameter(JRXlsExporterParameter.JASPER_PRINT, jasperPrint);
excelExporter.setParameter(JRXlsExporterParameter.OUTPUT_STREAM, outputStream);
excelExporter.setParameter(JRXlsExporterParameter.MAXIMUM_ROWS_PER_SHEET, 65536);
excelExporter.setParameter(JRXlsExporterParameter.IS_IGNORE_CELL_BORDER, Boolean.FALSE);
excelExporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
excelExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
excelExporter.setParameter(JRXlsExporterParameter.IS_COLLAPSE_ROW_SPAN, Boolean.TRUE);
excelExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS, Boolean.TRUE);
excelExporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
excelExporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
excelExporter.setParameter(JRXlsExporterParameter.IS_IMAGE_BORDER_FIX_ENABLED, Boolean.TRUE);
excelExporter.setParameter(JRXlsExporterParameter.IS_IGNORE_GRAPHICS, Boolean.FALSE);

并输出结果:
resultFile。

例如,第一列必须是“客户编号”,而不是“客户”


问题答案:

以下属性在报告级别上不起作用:

<property name="net.sf.jasperreports.export.xls.auto.fit.row" value="true"/>
<property name="net.sf.jasperreports.export.xls.auto.fit.column" value="true"/>

您必须将它们放在“报表元素”上(即):

        <staticText>
            <reportElement x="0" y="100" width="100" height="20">
                <property name="net.sf.jasperreports.export.xls.auto.fit.row" value="true"/>
                <property name="net.sf.jasperreports.export.xls.auto.fit.column" value="true"/>
            </reportElement>
            <textElement/>
            <text><![CDATA[Your Static Text]]></text>
        </staticText>

另外,我建议您尝试使用更有用的net.sf.jasperreports.export.xls.column.width属性。参考:http :
//jasperreports.sourceforge.net/config.reference.html



 类似资料:
  • 我尝试过自动调整我使用Jython Apache POI制作的Excel列的大小。我找到了这个线程:Apache POI Excel-如何配置要扩展的列?,但我仍然搞不清楚。 我尝试添加“sheet1.autoSizeColumn(1)”,但它不会改变任何东西。在每个可用列上调用它不是更好吗,因为为什么不希望每个列的格式都很好呢? 也许这在Jython中是不可能的? 恭喜你,克里斯托夫。

  • 问题内容: 我在JasperReports 4.1.1中找不到如何在.xlsx中导出文件。班上: 没有Xlsx等效项。而且我找不到参数来设置从xls到xlsx的输出格式。 问题答案: 该 JRXlsxExporter 类应该用于在出口 XLSX 格式。 在JasperReports 5.5.2之前的版本中使用导出器的示例 直到 JasperReports 5.5.1, 此代码可用于以 xlsx 格

  • 问题内容: 我已经找到了将HTML表导出到Excel的方法,但是在将JavaScript表导出从网站导出到excel时遇到了问题。请帮助我找到一种方法,将此表导出到Excel。 页面,从那里我需要信息: www.jalgpall.ee/players.php?year=2012&team=84&player=28469&b=ML 此页面javascript表函数的示例: 问题答案: 我自己找到了答

  • 有没有办法从HTML表导出到excel。我在.NET核心应用程序中使用了HTML表格,需要用样式对表格进行格式化,并且需要导出到Excel。

  • 问题内容: 我试图用Apache poi创建一个包含30列和100万条记录的大型Excel 2010。我正在按照此链接http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BigGridDemo.java中的描述进行创建 。但我希望列宽与列标题文本大小相同。