Galera, eu tenho um dataTable na minha tela e preciso exportar os dados para o Excel.
Vcs teriam algum exemplo para me ajudar?
kra eu jah tive esse problema, e achei uma solução simples, do mesmo jeito que vc cria um arquivo de extensao .txt, vc alterar para .csv que e um tipo de arquivo pra tabela
funciona :
//para salvar a tabela de registros em um arquivo do tipo planilha
public void salvarRegistro () throws IOException {
//seleciona o arquivo de BD
File arq = new File("con_txts/"+prefix+".cfg");
//int de chars
int ch;
//buffer para armazenar o texto e tratar
String buffer = "";
//pega o arquivo de entrada
FileInputStream fin = null;
String c;
int countl = 0;
String linhas = "";
//caminho do arquivo
String caminho;
// nome do arquivo
String nome;
String cols[];
try {
fin = new FileInputStream(arq);
//enquanto tiver char joga no buffer
while((ch = fin.read()) != -1) {
buffer = buffer + ((char)ch);
}
c = buffer.replace(";", "");
countl = c.split("\\\n").length;
} catch (Exception d) {
System.out.println(d);
}
try {
caminho = FileSaveR.getSelectedFile().getAbsolutePath();
nome = FileSaveR.getSelectedFile().getName();
FileWriter escrever = new FileWriter(new File(caminho + ".csv"),true);
PrintWriter saida = new PrintWriter(escrever,true);
cols = new String[countl];
linhas = "";
for (int fcol = 0; fcol < countl; fcol++) {
if(fcol != 0) {
linhas = linhas + ",";
}
linhas = linhas + col[fcol];
}
saida.println(linhas);
for(int linha = 0; linha < TRegistro.getModel().getRowCount(); linha++) {
linhas = "";
for(int coluna = 0; coluna < countl; coluna++) {
if(coluna != 0) {
linhas = linhas + ",";
}
System.out.println(linha +" " +countl);
cols[coluna] = String.valueOf(TRegistro.getModel().getValueAt(linha, coluna));
linhas = linhas + cols[coluna];
}
saida.println(linhas);
}
saida.close();
escrever.close();
JOptionPane.showMessageDialog(null, "Salvo com sucesso!");
} catch(Exception d) {
System.out.println(d);
}
}
neste trecho eu capturo as colunas de um arquivo texto que eu possuo que nao vem ao casoo que vc procura esta depois disso,
veja se ajuda a vc ter alguma ideia ou se isso serve!!!
Talvez o Apache POI faça isso.
Eu já usei esse exporter do PrimeFaces, é muito bom, aconselho usar ele.