当JasperReports
输出在一个文件Excel
xls格式,观察时的列仅在碧玉XML确定的固定的宽度。
这是一个问题,当在列中的数据是不同的宽度,导致一些列来包装的。
我有一个看看API和DTD和似乎没有要设置列宽自动调整的方式。
显示为ieinstead
emailAdress @email.com
展示为
emailAdress@email.com
是否有可能在所有做到这一点?
这个问题是相似的碧玉报告列宽
当JasperReports
输出在一个文件Excel
xls格式,观察时的列仅在碧玉XML确定的固定的宽度。
这是一个问题,当在列中的数据是不同的宽度,导致一些列来包装的。
我有一个看看API和DTD和似乎没有要设置列宽自动调整的方式。
显示为ieinstead
emailAdress @email.com
展示为
emailAdress@email.com
是否有可能在所有做到这一点?
这个问题是相似的碧玉报告列宽
我们可以实现自动列的宽度与帮助的效果net.sf.jasperreports.export.xls.auto.fit.column财产。 如果我们将该值设置为true时自动宽度将被启用。 此属性的默认值是假的 。
我们可以使用CSV数据源和简单的报表设计的JasperSoft Studio检查结果。
该报告的设计将是简单的-在细节带只有一个文本框 。
这是非常简单-只有一个电子邮件 。 第一行包含只是一个列的名称。 我们可以告诉数据源适配器跳过此第一道防线。
email
emailAdress@email.com
short@have.org
a@b.net
文本框的宽度将是太小,无法显示完整的文本。
要“打开”自动宽度应设置net.sf.jasperreports.export.xls.auto.fit.column属性。
该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="test_auto_width_excel" pageWidth="100" pageHeight="842" columnWidth="100" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="c899fa54-7405-4371-b34f-429f5959b593">
<queryString language="csv">
<![CDATA[]]>
</queryString>
<field name="email" class="java.lang.String"/>
<detail>
<band height="30" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="100" height="30" uuid="04d0735d-a1b6-4a8f-b252-b8772d7c5abd">
<property name="net.sf.jasperreports.export.xls.auto.fit.column" value="true"/>
</reportElement>
<textFieldExpression><![CDATA[$F{email}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
不使用属性生成的xls文件看起来像这样(在MS Excel中打开):
与net.sf.jasperreports.export.xls.auto.fit.column属性生成的xls文件看起来像这样(在MS Excel中打开):
笔记