response.setContentType("application/octet-stream")
是用来告诉浏览器服务器返回的数据是二进制流,因为 octet-stream 意味着 "一个未知的字节流"。当浏览器收到这个响应时,它无法确定数据类型,所以它的解析方式会尝试将这些未知字节自动转换为可读的格式。
当您使用 EasyExcel 将数据导出到 Excel 文件时,最好使用 response.setContentType("application/vnd.ms-excel")
来设置响应数据的 MIME 类型,而不是 response.setContentType("application/octet-stream")
。
标准 MIME 类型应该是定义明确的,所以使用 application/vnd.ms-excel
的 MIME 类型可以确保浏览器正确解析和显示 Excel 文件,并且也可以强制要求显示文件名。这是因为浏览器能够理解 Excel 文件格式并显示导出的内容,而不仅仅是将字节流写入到一个文件中。