SXSSFWorkbook workbook = new SXSSFWorkbook(5000); OutputStream out = response.getOutputStream(); String lastFileName = fileName + ".xlsx"; response.setContentType("application/msexcel;charset=UTF-8"); response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(lastFileName, "UTF-8")); int k = 0; int rowIndex; Sheet sheet = workbook.createSheet(sheetName + (k + 1)); // 写入excel的表头 Row titleNameRow = workbook.getSheet(sheetName + (k + 1)).createRow(0); for (int i = 0; i < titleName.length; i++) { sheet.setColumnWidth(i, titleSize[i] * 256); // 设置宽度 Cell cell = titleNameRow.createCell(i); cell.setCellValue(titleName[i]); }
时间: 2024-02-14 14:28:44 浏览: 73
这段代码是用于创建一个 SXSSFWorkbook 对象并将数据写入到 Excel 文件中。首先,创建一个 SXSSFWorkbook 对象并指定缓存区大小为 5000。然后,通过 response 获取输出流并创建一个文件名。设置响应的内容类型为 application/msexcel,并设置 Content-Disposition 头部,指定文件名编码为 UTF-8。接下来,创建一个 Sheet 对象,并在该 Sheet 上创建表头行。最后,循环遍历表头名称数组,设置每列的宽度并将表头名称写入到对应的单元格中。
相关问题
OutputStream outputStream = response.getOutputStream(); response.reset(); String fileName = URLEncoder.encode("白名单正确数据导出.xlsx", "UTF-8"); response.setHeader("Content-disposition", "attachment; filename=" + fileName); response.setContentType("application/x-msdownload;charset=utf-8"); workbook.write(outputStream); workbook.close(); outputStream.close();wps能打开ofiice打不开
这段代码是一个将 Excel 文件导出并下载的示例。其中,`workbook` 是一个已经创建好的 Excel 工作簿对象,`response` 是一个 HTTP 响应对象。这段代码会将 Excel 文件的数据写入到 `response` 对象的输出流中,以便用户可以下载该文件。
关于您提到的 WPS 能打开 Office 打不开的问题,可能是因为 WPS 对 Office 文件的兼容性不够好导致的。建议您尝试将文件保存为 Office 格式(如 .xlsx)后再进行打开。另外,您也可以尝试升级 WPS 到最新版本,以获得更好的兼容性支持。
String path = new FileTxtHandleUtil().projectSource(EXCEL_TEMPLATE_PATH2); FileInputStream fileInputStream = new FileInputStream(path); Workbook workbook = ExcelTemplateUtil.buildByTemplate(fileInputStream, staticSource, dynamicSourceList); // 2.保存到本地 OutputStream outputStream = response.getOutputStream(); response.reset(); String fileName = URLEncoder.encode("白名单正确数据导出.xlsx", "UTF-8"); response.addHeader("Content-Length", resultList.size()+""); response.setHeader("Content-disposition", "attachment; filename=" + fileName); response.setContentType("Content-Type:application/vnd.ms-excel");response.addHeader("Content-Length", resultList.size()+"");怎么设置文件大小比较好
文件大小可以通过获取文件的字节数来设置。你可以在代码中使用以下方法获取文件的字节数:
```
long fileSize = new File(filePath).length();
```
然后,你可以将文件大小设置到响应头中:
```
response.setHeader("Content-Length", String.valueOf(fileSize));
```
这样就可以将文件大小设置到响应头中了。
阅读全文