GARANTIR DESCONTO

Fórum Converter Txt em Pdf com Ireport #501654

18/11/2014

0

Ola boa noite eu tenho um arquivo txt com varias linhas e gostaria de converte-lo para um arquivo pdf usando o ireport
eu abro o arquivo, leio o txt intero armazeno dentro um array list porem quando é na hora do ireport gera o arquivo ele gera em branco, o array list ele contem dados que


List<String> listaTexto = new ArrayList<>();
        BufferedReader bufferedReader = new BufferedReader(fileReader); //aqui ele vai receber o arquivo 

        String linha = "";
        int i = 1;
        try {
            while ((linha = bufferedReader.readLine()) != null) {
                listaTexto.add(linha);
                i++;
            }
        } catch (IOException e1) {
            System.out.println("Nao consegui ler o arquivo " + e1.getMessage());
            e1.printStackTrace();
        }


e o meu report
esta somente com a band detail com o componente List usando a expresao $F

<?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="Rel 80colunas" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="39f06f89-39fc-4794-8a1b-a29bcf65609c">
	<property name="ireport.zoom" value="1.0"/>
	<property name="ireport.x" value="0"/>
	<property name="ireport.y" value="0"/>
	<subDataset name="dataset1" uuid="9cd118e1-78c2-4476-bc86-2a6397030f75">
		<field name="_THIS" class="java.lang.String"/>
	</subDataset>
	<parameter name="MinhaLista" class="java.util.List"/>
	<detail>
		<band height="27" splitType="Stretch">
			<componentElement>
				<reportElement x="0" y="0" width="555" height="27" uuid="87c45759-a2c4-42e2-8f6c-568badf6b92f"/>
				<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" printOrder="Vertical">
					<datasetRun subDataset="dataset1" uuid="a6662c01-6e19-448b-8f45-2ae4038c44a6">
						<parametersMapExpression><![CDATA[$P]]></parametersMapExpression>
						<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P)]]></dataSourceExpression>
					</datasetRun>
					<jr:listContents height="27" width="555">
						<textField>
							<reportElement x="0" y="0" width="100" height="20" uuid="968cadf1-05d8-4037-9461-8c747cf00090"/>
							<textFieldExpression><![CDATA[$F]]></textFieldExpression>
						</textField>
					</jr:listContents>
				</jr:list>
			</componentElement>
		</band>
	</detail>
</jasperReport>


e passo da seguinte forma o ArrayList
 Map parameters = new HashMap();
        parameters.put("MinhaLista", listaTexto);
        try {
            impressao = JasperFillManager.fillReport(layoutImpressao, null, new JRBeanCollectionDataSource(listaTexto));
        } catch (JRException ex) {
            Logger.getLogger(PrincipalJorcamento.class.getName()).log(Level.SEVERE, null, ex);
        }
Alberto Leal

Alberto Leal

Responder

Posts

19/11/2014

Ronaldo Lanhellas

Em nenhum omento estou vendo vocÊ passar a variável "parameters" para o fillReport().
Tente assim:

impressao = JasperFillManager.fillReport(layoutImpressao, parameters, new JRBeanCollectionDataSource(listaTexto));
Responder

Gostei + 0

20/11/2014

Alberto Leal

Ops.. detalhe
inclui o parametro porem ele da uma execption
Exception in thread "main" java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map
Responder

Gostei + 0

20/11/2014

Ronaldo Lanhellas

Este erro ocorre antes de executar o relatório ou durante a execução do mesmo ? Verifica se você está passando um objeto do tipo MAP<String,Object> e não um List ou ArrayList.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar