Вопрос по jasper-reports – Может ли JasperReports создать файл Excel с шириной столбца, автоматически подстраиваемой под содержимое?

2

КогдаJasperReports выводит файл вExcel формате @ xls столбцы при просмотре имеют только фиксированную ширину, определенную в XML-файле jasper.

Это проблема, когда данные в столбцах имеют разную ширину, что приводит к переносу некоторых столбцов.

Я посмотрел на API и DTD и, кажется, нет способа установить ширину столбцов для автоматической настройки.

i.e. вместо отображения как

  emailAdress
  @email.com

отобразить как

  [email protected]

Можно ли вообще это сделать?

Этот вопрос похож на Ширина столбца отчета Джаспер

Ваш Ответ

1   ответ
1

Net.sf.jasperreports.export.xls.auto.fit.column свойство. Если мы установим значение какправд the авто ширина будет включен. Значением по умолчанию этого свойства являетсяложны.

Рабочий образец

Мы можем использовать @ C источник данных и простой отчет, разработанный вJaspersoft Studio чтобы проверить результат.

Дизайн отчета будет простым - только одинтекстовое пол в Деталь группа

Источник данны

Это очень просто - только один столбецЭл. адре. Первая строка содержит только имя столбца. Мы можем попросить адаптер источника данных пропустить эту первую строку.

email
[email protected]
[email protected]
[email protected]
Шаблон отчета

Ширинатекстовое пол будет слишком маленьким, чтобы показать полный текст.

То"включать" автоматическая ширина, мы должны установить Net.sf.jasperreports.export.xls.auto.fit.column свойство

The 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):

Сгенерированный XLS файл с Net.sf.jasperreports.export.xls.auto.fit.column свойство выглядит так (открывается вMS Excel):

Заметк

В обоих случаях XLS файлы были сгенерированы вJaspersoft Studio.The Расширенные возможности Excel статья содержит больше информации о хитростях экспорта отчета вMS Excel формат

Похожие вопросы