Java 如何将XSSF工作簿转换为文件
我目前有一个Java 如何将XSSF工作簿转换为文件,java,eclipse,file,Java,Eclipse,File,我目前有一个XSSFWorkbook,我想在Java代码中强制转换它或以某种方式将其更改为文件。有办法吗?用于将内容写入文件 FileOutputStream out = new FileOutputStream("yourFileName.xls"); Workbook wb = new XSSFWorkbook(); //do your stuff ... wb.write(out); 使用并测试了以下代码 private Response sendExcelFile(Locale lo
XSSFWorkbook
,我想在Java代码中强制转换它或以某种方式将其更改为文件
。有办法吗?用于将内容写入文件
FileOutputStream out = new FileOutputStream("yourFileName.xls");
Workbook wb = new XSSFWorkbook();
//do your stuff ...
wb.write(out);
使用并测试了以下代码
private Response sendExcelFile(Locale locale, Optional<List<List<String>>> consumersReportData) {
XSSFWorkbook workBook = ExportToExcelUtils.prepareWorkBook(consumersReportData.get(), "data");
String DisplayFileName = "Consumers-Report-" + DateUtils.getLocalDateInString(DateUtils.now());
String fileName = "/tmp/fileName.xlsx";
// Created file object here
File file = new File(fileName);
try {
FileOutputStream outputStream = new FileOutputStream(file);
workBook.write(outputStream);
} catch (FileNotFoundException e) {
LOGGER.error("File not found : fileName {} Exception details:{} ", fileName, e);
} catch (IOException e) {
LOGGER.error("IO exception : fileName {} Exception details:{} ", fileName, e);
}
ResponseBuilder responseBuilder = Response.ok((Object) file);
responseBuilder.header("Content-Disposition", "attachment; filename=" + DisplayFileName + EXCEL_FILE_EXTENSTION);
return responseBuilder.build();
}
私有响应sendExcelFile(区域设置,可选consumersReportData){
XSSFWorkbook工作簿=exportToExcelotils.prepareWorkBook(consumersReportData.get(),“数据”);
String DisplayFileName=“消费者报告-”+DateUtils.getLocalDateInString(DateUtils.now());
字符串fileName=“/tmp/fileName.xlsx”;
//在此处创建文件对象
文件=新文件(文件名);
试一试{
FileOutputStream outputStream=新的FileOutputStream(文件);
workBook.write(outputStream);
}catch(filenotfounde异常){
错误(“未找到文件:文件名{}异常详细信息:{}”,文件名,e);
}捕获(IOE异常){
错误(“IO异常:文件名{}异常详细信息:{}”,文件名,e);
}
ResponseBuilder ResponseBuilder=Response.ok((对象)文件);
header(“内容处置”、“附件;文件名=“+DisplayFileName+EXCEL文件扩展名”);
返回responseBuilder.build();
}