Boa tarde, alguem pode me dar um help?
estou gerando uma planilha com API apache poi, porem , quando nao tiver dados quero que gere a planilha em branco apenas com o cabeçalho
planilha com dados:
como esta vindo sem dados:
segue abaixo codigo fonte
private void adicionarCabecalho(WritableSheet planilha, ExcelExportUtils exportUtils) throws RowsExceededException, WriteException {
int row = 0;
int nColumn = 0;
exportUtils.adicionarCelula(nColumn++, row, “Número Nota”, true, planilha, 15, Alignment.CENTRE);
exportUtils.adicionarCelula(nColumn++, row, “Fornecedor”, true, planilha, 30, Alignment.CENTRE);
exportUtils.adicionarCelula(nColumn++, row, “Nº PIS”, true, planilha, 25, Alignment.CENTRE);
exportUtils.adicionarCelula(nColumn++, row, “Unidade”, true, planilha, 15, Alignment.CENTRE);
exportUtils.adicionarCelula(nColumn++, row, “Data de Emissão”, true, planilha, 15, Alignment.CENTRE);
exportUtils.adicionarCelula(nColumn++, row, “Data de Inclusão”, true, planilha, 15, Alignment.CENTRE);
exportUtils.adicionarCelula(nColumn++, row, “Data de Vencimento”, true, planilha, 15, Alignment.CENTRE);
exportUtils.adicionarCelula(nColumn++, row, “Valor da NF”, true, planilha, 20, Alignment.CENTRE);
exportUtils.adicionarCelula(nColumn++, row, “Valor do INSS 20%”, true, planilha, 20, Alignment.CENTRE);
}
private void adicionarLinhaPlanilha(WritableSheet planilha, ExcelExportUtils exportUtils,
NotaTituloMei notaTituloMei) throws RowsExceededException, WriteException {
int numeroColuna = 0;
exportUtils.adicionarCelula(numeroColuna++, linha, notaTituloMei.getNotaDigitalizacaoNf().getNumeroNota(), false, planilha);
exportUtils.adicionarCelula(numeroColuna++, linha, notaTituloMei.getNotaDigitalizacaoNf().getDigitalizacaoNf().getFornecedorNf().getNome(), false, planilha);
exportUtils.adicionarCelula(numeroColuna++, linha, notaTituloMei.getNotaDigitalizacaoNf().getDigitalizacaoNf().getFornecedorNf().getPis(), false, planilha);
exportUtils.adicionarCelula(numeroColuna++, linha, notaTituloMei.getNotaDigitalizacaoNf().getDigitalizacaoNf().getUnidadeOrganizacional().getNomeFantasia(), false, planilha);
exportUtils.adicionarCelula(numeroColuna++, linha, CalendarToString.obterDataEHoraCalendar(notaTituloMei.getDataEmissao()), false, planilha);
exportUtils.adicionarCelula(numeroColuna++, linha, CalendarToString.obterDataEHoraCalendar(notaTituloMei.getDataInclusao()), false, planilha);
exportUtils.adicionarCelula(numeroColuna++, linha, CalendarToString.obterDataCalendar(notaTituloMei.getDataVencimento()), false, planilha);
exportUtils.adicionarCelulaNumeralDinheiro(numeroColuna++, linha, notaTituloMei.getNotaDigitalizacaoNf().getValorNota(), false, planilha);
exportUtils.adicionarCelulaNumeralDinheiro(numeroColuna++, linha, notaTituloMei.getValorNota(), false, planilha);
linha++;
}
private void ajustarLarguraColunas(WritableSheet planilha) {
for (int x = 0; x < planilha.getColumns(); x++) {
CellView cell = planilha.getColumnView(x);
cell.setAutosize(true);
planilha.setColumnView(x, cell);
}
}
public void gerarRelatorio() {
List<NotaTituloMei> notaTituloMeiList = tituloMeiHome.buscaListaNotaTituloByFiltro(getDataInicioEmissao(),
getDataFimEmissao(), getDataInicioInclusao(), getDataFimInclusao(), getDataInicioVencimento(), getDataFimVencimento(), getListaUnidadesFiltro());
ExcelExportUtils exportUtils = new ExcelExportUtils();
ByteArrayOutputStream outputStream;
try {
outputStream = new ByteArrayOutputStream();
WritableWorkbook workbook = jxl.Workbook.createWorkbook(outputStream);
if (notaTituloMeiList != null && !notaTituloMeiList.isEmpty()) {
montaPlanilha(notaTituloMeiList, exportUtils, workbook);
workbook.write();
workbook.close();
}
InputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
String fileName = "RelatorioTituloMei.xls";
relatorioExcel = new DefaultStreamedContent(inputStream, "application/vnd.ms-excel", fileName);
} catch (Exception e) {
e.printStackTrace();
}
}
private void montaPlanilha(List<NotaTituloMei> notaTituloMeiList, ExcelExportUtils exportUtils, WritableWorkbook workbook) throws RowsExceededException, WriteException {
WritableSheet planilha = workbook.createSheet("Nota Titulo Mei", 1);
linha = 1;
SheetSettings settings = planilha.getSettings();
settings.setVerticalFreeze(1);
adicionarCabecalho(planilha, exportUtils);
if (!notaTituloMeiList.isEmpty()) {
for (NotaTituloMei notaTituloMei : notaTituloMeiList) {
adicionarLinhaPlanilha(planilha, exportUtils, notaTituloMei);
}
}
else {
adicionarCabecalho(planilha, exportUtils);
}
ajustarLarguraColunas(planilha);
}
Blockquote