1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Criar outra aba no excel JAVA

Pessoas, O excel tem uma limitação de linhas que são de 65536 linhas, com isso estava querendo fazer essa validação o que estou fazendo está muito errado.

package br.com.montreal.planilha;

import java.io.File;
import java.io.FileOutputStream;
import java.math.BigDecimal;
import java.util.List;
import java.util.ListIterator;

import javax.swing.JOptionPane;
import javax.swing.JProgressBar;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;

public class Excel {

    protected List<Object> listaSos;

    public void expExcel(String nomeArquivo, List<Object> listaSos,
            JProgressBar progressBar) {


        Workbook book = new SXSSFWorkbook(100);
        HSSFSheet firstSheet = (HSSFSheet) book.createSheet("SosSetores");

        FileOutputStream fos = null;

        try {

            fos = new FileOutputStream(new File(nomeArquivo));

            int i = 0;

            progressBar.setMaximum(listaSos.size() - 2);
            progressBar.setValue(0);

            ListIterator<Object> listItrSos = listaSos.listIterator();

            // XSSFRow plan = firstSheet.createRow(i);
            HSSFRow plan = firstSheet.createRow(i);

            plan.createCell(0).setCellValue("SOLIC");
            plan.createCell(1).setCellValue("SETOR");
            plan.createCell(2).setCellValue("ROTINA");
            plan.createCell(3).setCellValue("DATA DE ABERTURA");
            plan.createCell(4).setCellValue("HORA DE ABERTURA");
            plan.createCell(5).setCellValue("PRAZO DATA ORIGINAL");
            plan.createCell(6).setCellValue("PRAZO HORA ORIGINAL");
            plan.createCell(7).setCellValue("DATA DE ENCERRAMENTO");
            plan.createCell(8).setCellValue("HORA DE ENCERRAMENTO");
            plan.createCell(9).setCellValue("RESPONSÁVEL");

            while (listItrSos.hasNext()) {

                Object[] sos = (Object[]) listItrSos.next();

                // XSSFRow row = firstSheet.createRow(i);
                HSSFRow row = firstSheet.createRow(i);

                row.createCell(0)
                        .setCellValue(((BigDecimal) sos[0]).intValue());
                row.createCell(1)
                        .setCellValue(((BigDecimal) sos[1]).intValue());
                row.createCell(2).setCellValue((String) sos[2]);
                row.createCell(3).setCellValue((String) sos[3]);
                row.createCell(4).setCellValue((String) sos[4]);
                row.createCell(5).setCellValue((String) sos[5]);
                row.createCell(6).setCellValue((String) sos[6]);
                row.createCell(7).setCellValue((String) sos[7]);
                row.createCell(8).setCellValue((String) sos[8]);
                row.createCell(9).setCellValue((String) sos[9]);

                i++;

                progressBar.setValue(i);

            } // fim do for

            JOptionPane.showMessageDialog(null, "Processo Finalizado!");

            firstSheet.setColumnWidth(0, 10 * 300);
            firstSheet.setColumnWidth(1, 10 * 300);
            firstSheet.setColumnWidth(2, 10 * 1600);
            firstSheet.setColumnWidth(3, 10 * 650);
            firstSheet.setColumnWidth(4, 10 * 650);
            firstSheet.setColumnWidth(5, 10 * 650);
            firstSheet.setColumnWidth(6, 10 * 650);
            firstSheet.setColumnWidth(7, 10 * 650);
            firstSheet.setColumnWidth(8, 10 * 650);
            firstSheet.setColumnWidth(9, 10 * 900);

            book.write(fos);

        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("Erro ao exportar arquivo");
        } finally {
            try {
                fos.flush();
                fos.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    } // fim do metodo exp

}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.