【发布时间】:2017-07-03 15:44:50
【问题描述】:
我创建了一个接受 JSON 响应并将数据导出到 Excel 和 CSV 文件的方法。我希望该方法接受文件名作为参数,并从该方法返回 File/FileHandle 对象。
有人可以帮我解决这个问题吗?
我正在使用以下代码从 creteExcel 和 createCSV 导出数据。
public void createExcel( PageModel pageModelRequest,PageModel pageModelResponse ){
FileOutputStream outputStream=new FileOutputStream(new File("GridData.xlsx"));
createGrid(pageModelResponse, sheet, workbook);
workbook.write(outputStream);
System.out.println("Excel Written");
outputStream.close();
workbook.close();
}
public void createCSV(PageModel pageModelRequest,PageModel pageModelResponse){
String csvFile = "/Users/abhinak4/Desktop/GridData.csv";
FileWriter writer = new FileWriter(csvFile);
createGrid(pageModelRequest, pageModelResponse, writer);
}
在方法createGrid 中,我正在为excel 创建工作簿,并将数据附加到writer (writer.append)。
我想知道,如何接受文件名作为createExcel 和createCSV 方法的参数,并返回包含数据的同名文件?
【问题讨论】:
-
你不能改变方法的签名 - 返回类型和参数吗?
-
对于 Excel:我可以将文件名作为字符串参数发送,但我使用 FileOutputStream 来写入数据。那么我可以直接从 mthis 方法返回 FileOutputStream,还是需要将其转换为 File 对象。如果我需要转换,那么如何转换? 对于 CSV:我正在通过 fileWriter 写入数据。我可以直接返回fileWriter,还是需要将其转换为文件对象。如果是,那我们如何转换呢?
标签: java apache-poi fileoutputstream filewriter filehandle