[RESOLVIDO]Escrever no excel

3 respostas
I

Como eu fasso pra escrever no excel usando JXL?

3 Respostas

A

A vara:
http://www.andykhan.com/jexcelapi/tutorial.html

O peixe:

import java.io.File;
import java.io.IOException;
import javax.swing.JOptionPane;
import jxl.Workbook;
import jxl.write.Number;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

public class GeradorPlanilha {
    private WritableWorkbook workbook;
    private WritableSheet sheet;

    public GeradorPlanilha(String arquivo){
        try{
            workbook = Workbook.createWorkbook(new File(arquivo));

        }
        catch(IOException ioe){
            JOptionPane.showMessageDialog(null, "Erro ao criar planilha com resultado da crítica", "Falha de Operação", JOptionPane.ERROR_MESSAGE);
        }
    }

    public void criaPlanilha(String nome, int posicao){
        sheet = workbook.createSheet(nome, posicao);
    }

    public void adicionaCabecalho(String rotulos[], int linha){
        for(int i=0; i<rotulos.length; i++){
            Label label = new Label(i, linha, rotulos[i]);
            try{
                sheet.addCell(label);
            }
            catch(WriteException we){
                JOptionPane.showMessageDialog(null, "Erro ao escrever cabeçalho da planilha", "Falha de Operação", JOptionPane.ERROR_MESSAGE);
            }
        }
    }

    public void adicionaLinha(Object dados[], int linha){
        for(int i=0; i<dados.length; i++){
            if(i < 4){
                Label label = new Label(i, linha, dados[i].toString());
                try{
                    sheet.addCell(label);
                }
                catch(WriteException we){
                    JOptionPane.showMessageDialog(null, "Erro ao escrever linha na planilha", "Falha de Operacao", JOptionPane.ERROR_MESSAGE);
                }
            }
            else{
                Number number = new Number(i,linha, Double.valueOf(dados[i].toString()));
                try{
                    sheet.addCell(number);
                }
                catch(WriteException we){
                    JOptionPane.showMessageDialog(null, "Erro ao escrever linha na planilha", "Falha de Operacao", JOptionPane.ERROR_MESSAGE);
                }
            }
        }
    }
    
    public void encerraPlanilha(){
        try{
            workbook.write();

        }
        catch(IOException ioe){
            JOptionPane.showMessageDialog(null, "Erro ao escrever dados na planilha", "Falha de Operação", JOptionPane.ERROR_MESSAGE);
        }
        try{
            workbook.close();
        }
        catch(IOException ioe){
            JOptionPane.showMessageDialog(null, "Erro ao fechar a planilha", "Falha de Operação", JOptionPane.ERROR_MESSAGE);
        }
        catch(WriteException we){
            JOptionPane.showMessageDialog(null, "Erro ao fechar a planilha", "Falha de Operação", JOptionPane.ERROR_MESSAGE);
        }
    }

}
I

Valeu, mas eu já resolvi.

import java.io.File;
import java.util.Locale;

import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.write.NumberFormats;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.Number;
//import jxl.write.*;
import jxl.write.Label;

public class PraEscrever {
	
	public PraEscrever() {
		try {
			String filename = "/home/acene/Documentos/entrada1po.xls";
		      WorkbookSettings ws = new WorkbookSettings();
		      ws.setLocale(new Locale("en", "EN"));
		      WritableWorkbook workbook = Workbook.createWorkbook(new File(filename), ws);
		      WritableSheet s = workbook.createSheet("Folha1", 0);
 
		     for(int i=0;i<10;i++){
		    	 System.out.println("kdshfjklds");
		    	 WritableCellFormat cf2 = new WritableCellFormat();
			      Label label = new Label(5,i, "OK", cf2);
		      s.addCell(label);
		      
		     }

		      
		      workbook.write();
		      workbook.close();
		      
		} catch (Exception e) {
			// TODO: handle exception
		}
		
	

	}

}
bruno.calixto

Boa tarde galera,

Ademilton, eu consegui criar a planilha e está td ok, exceto quando chego na parte de gravar um valor lá.
O valor seria do tipo monetário.
Procurei em vários tutoriais como formatar uma célula no tipo monetário, mas não encontrei, tentei apenas converter para double, mas como o meu valor está vindo no formato (0,00) ele dá uma Exception.
você sabe como posso fazer para conseguir guardar este valor na célula num formato monetário?

Grato.

Criado 30 de agosto de 2012
Ultima resposta 7 de out. de 2012
Respostas 3
Participantes 3