POI导出Excel文件中文乱码

article/2025/9/30 13:31:42

使用POI组件生产Excel文件时中文乱码,总结后可能错误原因如下:

后台导出Excel文件格式混乱

POI组件可生成.xls和.xlsx两种格式的Excel文件,设置文件格式时应注意与导出的格式相匹配。如果文件格式设置出错,则会出现以下错误:
在这里插入图片描述
.xls文件格式设置

response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");  
response.addHeader("Content-Disposition", "attachment;filename=fileName"+".xls");

.xlsx文件格式设置

response.setCharacterEncoding("utf-8");
response.setContentType("multipart/form-data");  
response.addHeader("Content-Disposition", "attachment;filename=fileName"+".xlsx");

前端设置格式与后台不匹配

前端接收到Excel数据流后,也可对该数据流的浏览器下载格式进行设置,设置格式也应与Excel数据流格式一致,否则会出现Excel文件中文乱码错误。
在这里插入图片描述
.xls和.xlsx的区别,根据自己需求导出相应格式

xls 是一个特有的二进制格式,其核心结构是复合文档类型的结构,而 xlsx 的核心结构是 XML 类型的结构,采用的是基于 XML 的压缩方式,使其占用的空间更小。xlsx 中最后一个 x 的意义就在于此。
xls是excel2003及以前版本生成的文件格式,而xlsx是excel2007及以后版本生成的文件格式。


http://chatgpt.dhexx.cn/article/76BUHZbJ.shtml

相关文章

Java使用poi导出Excel之格式设置

最近接到一个需求,客户不满意原本导出的csv文件,想要导出Excel文件。不就导出Excel文件嘛,小意思,于是乎信心满满从网上扒导出的代码,一顿CV大法,搞定!代码如下: import lombok.extern.slf4j.S…

Java使用POI导出Excel

目录 一、前景二、概念2.1. 简介2.2.Excel版本和相关对象2.3.WorkBook2.4.POI依赖 三、POI - 写3.1.代码示例3.2. 性能对比3.3. 测试rowAccessWindowSize3.4. 导出Excel样式设置 四、POI - 读4.1.代码示例4.2.读取不同的数据类型4.3.读取公式 五、POI - 遇到的坑5.1.为什么模板…

Java实现八大排序算法

原文链接: 八大排序算法总结与java实现 - iTimeTraveler 概述 因为健忘,加上对各种排序算法理解不深刻,过段时间面对排序就蒙了。所以决定对我们常见的这几种排序算法进行统一总结,强行学习。首先罗列一下常见的十大排序算法&…

通过java实现八大排序的功能

八大排序(java实现) 常见的排序算法如下: 直接插入排序希尔排序简单选择排序堆排序冒泡排序快速排序归并排序基数排序 它们都属于内部排序,也就是只考虑数据量较小仅需要使用内存的排序算法,他们之间关系如下: 稳定与非稳定 …

c语言基数为3变为基数为10,必须知道的C语言八大排序算法(收藏)

概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时…

数据结构( 排序)

排序 1、排序的基本概念2、插入排序①.直接插入排序②.折半插入排序③.希尔排序 3、交换排序①.冒泡排序②.快速排序 4、选择排序①.简单选择排序②.树形选择排序③.堆排序 5、归并排序6、基数排序7、总结8、例题与应用 1、排序的基本概念 排序是计算机内经常进行的一种操作&a…

十大经典排序算法python版本_【程序员面试必备】动画详解十大经典排序算法(C语言版)...

欢迎访问我的博客原文 排序算法是程序员必备的基础知识,弄明白它们的原理和实现很有必要。本文中将通过非常细节的动画展示出算法的原理,配合代码更容易理解。 概述 由于待排序的元素数量不同,使得排序过程中涉及的存储器不同,可将…

八大排序算法详解(Java语言实现)

概述 因为健忘,加上对各种排序算法理解不深刻,过段时间面对排序就蒙了。所以决定对我们常见的这几种排序算法进行统一总结,强行学习。首先罗列一下常见的十大排序算法: 直接插入排序希尔排序简单选择排序堆排序冒泡排序快速排序归…

九大排序算法-C语言实现及详解

概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用…

常用的排序算法-C语言

目录 冒泡排序   鸡尾酒排序  选择排序插入排序 二分插入排序  希尔排序  归并排序堆排序快速排序 我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: 一种是比较排序,时间复杂度…

九大排序算法详解 - C语言篇

概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时…

数据结构排序算法总结

学完数据结构已经有好长一段时间了,最近又重新回顾,做一个八大排序的总结,以便后期回顾。 目录 一、插入排序 1.直接插入排序 2.希尔排序 二、交换排序 1.冒泡排序 2.快速排序 三、选择排序 1.简单选择排序 2.堆排序 四、归并排序 …

程序员面试必备——动画详解十大经典排序算法(C语言版)

博客原文地址 排序算法是程序员必备的基础知识,弄明白它们的原理和实现很有必要。本文中将通过非常细节的动画展示出算法的原理,配合代码更容易理解。 概述 由于待排序的元素数量不同,使得排序过程中涉及的存储器不同,可将排序方…

【C语言八大排序思想及代码实现】

文章目录 系列文章目录前言一、冒泡排序二、选择排序三、直接插入排序四、希尔排序五、归并排序六、基数(桶)排序七、堆排序八、快速排序总结 一、冒泡排序 思想: 从第一个数开始依次向后进行比较(第一个和第二个比较然后第二个…

经典排序算法总结(C实现)

一 排序算法介绍 1.0 排序的概述 在计算机计算和处理加工数据时,经常会直接或间接地涉及到数据的排序问题。可以简单地将排序操作理解为:将一个按值无序的数据序列转换成为一个按值有序的数据序列的过程。例如,将一个无序的数组 A[5] {7, …

主元排序法c语言程序,C/C++实现八大排序算法汇总

概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 当n较大,则应采用时间…

内排序算法小结

针对近两天所复盘的《数据结构》中的内排序部分,做一个小总结。尽力在最大程度上把考点重现出来,以便复盘之需。 本文所有算法均使用 C语言 实现。 本博客仅从个人的考点梳理为基,内容相较全局还有很多缺失,读者请权衡参考。 目…

数据结构-考研难点代码突破(C/C++/Java排序算法,性能及其稳定性分析(内部排序))

文章目录 1. 内部排序的基本种类2. 插入排序Ⅰ直接插入排序性能与稳定性分析Ⅱ 折半插入排序性能与稳定性分析Ⅲ 希尔排序性能与稳定性分析 3. 交换排序Ⅰ 冒泡排序性能与稳定性分析Ⅱ 快速排序key值选取(三数取中)三种交换方法① hoare左右指针② 挖坑法…

排序算法知识点总结和Java实现

排序算法知识点总结和Java实现 前言1. 术语解释2. 排序算法2.1 选择排序2.2 冒泡排序2.3 插入排序2.4 希尔排序2.5 归并排序2.6 快速排序2.7 堆排序2.8 计数排序2.9 桶排序2.10 基数排序 参考材料 前言 文章会有一些从参考材料中转载来的动图,如果构成侵权&#xf…

八大排序算法总结与java实现

原文链接: 八大排序算法总结与java实现 - iTimeTraveler 概述 因为健忘,加上对各种排序算法理解不深刻,过段时间面对排序就蒙了。所以决定对我们常见的这几种排序算法进行统一总结。首先罗列一下常见的十大排序算法: 直接插入排序…