21xrx.com
2024-12-27 00:15:26 Friday
登录
文章检索 我的文章 写文章
Java 中文内容导出 Excel 乱码问题解决方法
2023-06-15 19:38:58 深夜i     --     --
Java Excel 乱码问题 UTF-8 编码格式

在 Java 开发中,经常需要将数据导出到 Excel 中,但是当导出的 Excel 中包含中文时,很容易出现乱码问题。本文将介绍一种解决 Java 导出 Excel 中文内容乱码问题的方法,并提供相关代码案例。

一、问题分析

当 Java 导出 Excel 中存在中文时,很容易导致 Excel 文件中文出现乱码,如下图所示:

![Excel 中文内容乱码问题截图](https://img-blog.csdn.net/2018052015344647?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhaW1hcTI2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)

这是因为在生成 Excel 文件过程中,Java 默认使用的字符编码格式为 ISO-8859-1,不能正确处理中文字符,导致中文字符出现乱码。

二、解决方案

解决 Java 导出 Excel 中文内容乱码问题的方法是使用 UTF-8 编码格式输出 Excel 文件。具体实现代码如下:


// 设置 HttpServletResponse 响应头信息

response.setContentType("application/octet-stream;charset=UTF-8");

response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("gb2312"), "ISO8859-1"));

// 创建 Workbook 对象

Workbook workbook = new HSSFWorkbook();

// 创建 Sheet 对象

Sheet sheet = workbook.createSheet(sheetName);

// 创建 Row 对象

Row row = sheet.createRow(0);

// 向 Row 中添加数据

Cell cell = row.createCell(0);

cell.setCellValue("姓名");

cell = row.createCell(1);

cell.setCellValue("年龄");

// 输出 Excel 文件

workbook.write(response.getOutputStream());

通过设置 HttpServletResponse 响应头信息,使用 UTF-8 编码格式输出 Excel 文件,即可解决 Java 导出 Excel 中文内容乱码问题。

三、关键词

Java、Excel、乱码问题、UTF-8、编码格式

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复