我有这个应用程序。我正在尝试。它允许用户查看JTable
实例,同时可以选择以 excel 格式保存或打印。它询问用户文件名和放置文件的位置,然后将其保存在该位置。该应用程序在本地服务器 (tomcat) 中运行,并由不同工作站中的其他用户使用。我正在使用 POI API 将表格转换为 Excel 文件,并且效果很好。
现在的问题是,它根本FileOutputStream()
不会为其他工作站创建任何文件。它仅在单个工作站中创建/保存文件,即我当前正在开发应用程序的工作站。我已经搜索了足够长的时间以找到解决方案,但我还没有找到任何解决方案,所以我试图向你们寻求帮助。我将包括代码。
public class ReportToExcel
{
//file returned comes from the user from antoher function.
public void exportTable(JTable table, File file) throws IOException {
HSSFWorkbook report = new HSSFWorkbook();
HSSFSheet report_sheet = report.createSheet("report_sheet");
HSSFRow rowHead = report_sheet.createRow((int)0);
TableModel model = table.getModel();
FileOutputStream reportOut = new FileOutputStream(file.getAbsolutePath());
System.out.println("table to excel "+table.getName());
for(int x=0; x < model.getColumnCount(); x++) {
rowHead.createCell((int)x).setCellValue(model.getColumnName(x));
report_sheet.autoSizeColumn((int)x);
System.out.println(x+". "+model.getColumnName(x));
}
for(int i=1; i< model.getRowCount(); i++) {
HSSFRow row = report_sheet.createRow((int)i);
for(int j=0; j < model.getColumnCount(); j++) {
row.createCell((int)j).setCellValue(model.getValueAt(i,j).toString());
System.out.println(i+". "+model.getValueAt(i,j).toString());
}
}
report.write(reportOut);
reportOut.close();
System.out.println("write out to: " + file.getAbsolutePath());
}
}