我正在开发一个独立的应用程序,其结果将导出到Excel工作表中。我使用Jxls进行导出。所有这些都在Eclipse中工作,但导出的jar只是给了我一张非工作表。是输出流不能写任何东西的问题,还是绝对路径的问题?我在这里有点困惑。
使用jar中包含的必需库进行导出。
导出部分的代码:
private void exportDataDet(File file) throws ParseException, IOException, ParsePropertyException, InvalidFormatException {
String path = System.getProperty("user.home") + File.separator + "tempFile";
File IdGenreXLS = new File(path + ".xlsx");
List<ResultsDetails> detRes = generateResultsDetails();
try(InputStream is = IdGenre.class.getResourceAsStream("/xlsTemplates/IdGenre/IdGenre_20-29-et=12.xlsx")) {
try (OutputStream os = new FileOutputStream(IdGenreXLS)) {
Context context = new Context();
context.putVar("detRes", detRes);
JxlsHelper.getInstance().processTemplate(is, os, context);
}
}
感谢您的任何建议。
答案 0 :(得分:0)
好吧,没有在磁盘上写入的假设是好的,因为最终没有任何内容写在磁盘上。 一个简单的
os.flush();
最后使一切正常。除了关闭输入和输出流之后没有什么可以做的。