Como eu fasso pra escrever no excel usando JXL?
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);
}
}
}
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
}
}
}
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.