hssfworkbook 设置下载数值不乱码
时间: 2024-02-07 13:03:49 浏览: 123
HSSFWorkbook.zip
如果你使用 HSSF Workbook 来创建 Excel 文件并下载,可以通过设置响应头来避免下载时出现乱码的问题。具体实现方法如下:
1. 在服务器端设置响应头:
```java
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("UTF-8"), "ISO8859-1") + ".xls");
response.setContentType("application/octet-stream;charset=UTF-8");
```
其中,`Content-Disposition` 表示下载时的文件名,需要使用 ISO8859-1 编码,而 `ContentType` 则表示下载文件的类型为二进制,字符集为 UTF-8。
2. 在 HSSF Workbook 中设置字符集:
```java
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("Sheet1");
HSSFCellStyle cellStyle = workbook.createCellStyle();
HSSFFont font = workbook.createFont();
font.setFontName("宋体");
cellStyle.setFont(font);
cellStyle.setAlignment(HorizontalAlignment.CENTER);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
// 设置表格内容
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellValue("测试");
// 设置字符集
response.setCharacterEncoding("UTF-8");
```
在 HSSF Workbook 中,需要将字体设置为 "宋体",然后将样式应用到单元格上,同时设置字符集为 UTF-8。
通过上述方式设置响应头和字符集后,再将 HSSF Workbook 写入响应流中,就可以避免下载时出现乱码的问题了。
阅读全文