私はこのアプリを持っています。取り組んでいます。ユーザーはJTable
インスタンスを表示できると同時に、Excel 形式で保存したり、印刷したりすることができます。ファイル名とファイルを配置する場所をユーザーに尋ね、その場所にファイルを保存します。アプリはローカル サーバー (tomcat) で実行され、別のワークステーションで他のユーザーによって使用されます。テーブルをExcelファイルに変換する際にPOI APIを使用していますが、うまく機能します。
現在の問題は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());
}
}