Java导出Excel文件,在Wps上可以打开但是Office上打不开的问题

在做项目过程中,涉及到需要导出列表数据

1.前端如果用xlsx格式接收表格 后台用XSSFWorkbook workbook = new XSSFWorkbook();创建工作薄

response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.addHeader("Content-Disposition", "attachment;filename=fileName" + ".xlsx");

2.前端如果用用xls格式接收表格 后台 用HSSFWorkbook workbook = new HSSFWorkbook();创建工作薄

response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition", "attachment;filename=fileName"+".xls");


那么 xls 和 xlsx有什么区别?(根据自身情况选择使用)
文件核心结构不同:

xls核心结构是复合文档类型的;

xlsx 的核心结构是 XML 类型的结构,并且基于XML进行压缩(占用空间更小),所以也可以看做zip文件,将一个“.xlsx”文件的后缀改为ZIP后,用解压软件解压,可以看到里面有一个xml文件和文件的主要内容。

版本不同:

xls是excel2003及以前版本所生成的文件格式

xlsx是excel2007及以后版本所生成的文件格式(2007 是可以兼容2003的xls格式的)

最大行列得数量不同:

xls最大只有65536行、256列

xlsx可以有1048576行、16384列

原文地址:https://www.cnblogs.com/liyhbk/p/14954497.html