Apache poi

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