java 查询将JTable导出到Excel文件中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 查询将JTable导出到Excel文件中相关的知识,希望对你有一定的参考价值。
public void actionPerformed(ActionEvent arg0) {
try{
JFileChooser jf = new JFileChooser();
jf.setDialogTitle("Save Excel File");
int result = jf.showSaveDialog(null);
if (result == JFileChooser.APPROVE_OPTION) {
String excelpath = jf.getSelectedFile().getAbsolutePath();
excelpath = excelpath.replace("\\","/");
textField.setText(excelpath );
ExcelExporter exp = new ExcelExporter();
//exp.exportTable(table, new File("\""+ excelpath + "\""));
//exp.exportTable(table, new File("C:/Users/abdee_000/Desktop/test1.xls"));
exp.exportTable(table, new File(excelpath));
//ExcelHelper eh = new ExcelHelper(excelpath);
//ProductDAO pdao = new ProductDAO();
}
}catch(Exception e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
});
import java.io.*;
import javax.swing.table.TableModel;
import javax.swing.*;
import java.nio.charset.StandardCharsets ;
public class ExcelExporter {
ExcelExporter(){}
public void exportTable(JTable table, File file)throws IOException{
TableModel model = table.getModel();
byte[] arr= file.toString().getBytes(StandardCharsets.UTF_8);
String str2 = new String(arr);
FileOutputStream outr= new FileOutputStream(str2);
OutputStreamWriter y2r = new OutputStreamWriter(outr,"UTF-8");
BufferedWriter bwr= new BufferedWriter(y2r);
for(int i=0;i<model.getColumnCount();i++){
bwr.write(model.getColumnName(i)+"\t");
}
bwr.write("\n");
for(int i=0;i<model.getRowCount();i++){
for(int j=0;j<model.getColumnCount();j++){
bwr.write(model.getValueAt(i, j).toString()+"\t");
}
bwr.write("\n");
}
bwr.close();
}
}
以上是关于java 查询将JTable导出到Excel文件中的主要内容,如果未能解决你的问题,请参考以下文章
如何将查询结果导出到 Excel 文件?
已编辑将 JTable 写入 Excel
java如何将查询到的表中数据导出到excel中(包含字段名)
将sql查询结果导出到csv或excel
java 操作 excel ,要求从数据库中查询出来的数据 保存到excel文件中,并提示 另存为 路径可以任意选择
Java JTable 导出到现有的 MS Access 表