各位大佬有没有试过后台导出execl文件,用谷歌,低版本的火狐,360,win10自带的edge的浏览器导出都没有问题,但是用高版本的火狐浏览器导出却是json后缀的文件
后台是怎么生成excel的?代码都没有怎么解决问题
哦,不好意思,我现在把想过的代码给上传上来。
大体应该是这几个是配置。
@杨火火:
导出的after方方法这里修改一下:
response.addHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));
response.setContentType("application/octet-stream");
@为乐而来: 原来这个filename前面是有个小空格得,然后我去掉了,这个应该不影响吧!而且我这有2个after方法,一个参数是String,一个是Workbook对象,改哪个?Workbook对象这个嘛?
@为乐而来: 不看不知道,这四个类里面都有after方法怎么办啊
@杨火火: 你是导出有问题,当然是导出的那个,ExcelExport 或者ExcelExportLocal,不行都可以式式
@为乐而来: 可以了,大佬,但是我没明白response.setContentType("application/octet-stream");这段代码的含义。
@杨火火: 操作了好久才知道怎么结帖和把乐豆给大佬你,谢谢哈!
@杨火火: 每一次response都要设置输出的格式,你这里因为是一个Excel文件,文件都是二进流所以这里的“application/octet-stream”表是二进制流的意思 。
如一般的网页格式都是text/html,有时候请求数据想要返回json,这时候就设置成application/json.
更多的设置请参考这里:https://www.runoob.com/http/http-content-type.html
@为乐而来: 好的,感谢大佬得耐心解答,谢谢了!
能否具体点:到底高、低版本是多少?
低版本50左右,高版本的80
@杨火火:
Excel 驱动可用对。我在FF,38, 84版本上使用类似:
...connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data...
都没有发现问题。
您能否贴一下您具体使用的驱动?
@blogger2020: 驱动??我现在看一下哈!
@blogger2020:
具体是哪个?
@杨火火:
与设备管理驱动无关。
1.记得有一篇文章提到Excel, Json 同是HTTP 格式中的类型,具体不记得了。要找。
2.Excel 的版本有区别,当输出时候,不注意版本格式(驱动),其结果可能会出意外。
Help it helps.
@blogger2020: 我百度搜索了下,好像都没有找到我需要的资料。。。。。
用正常的静态文件对比一下不就清楚了。
后台导出设置了文件格式为excel,导出来怎么会变呢
对啊,我也不是很理解,因为我试过用win10自带的edge浏览器,谷歌浏览器,360的好像也可以,火狐的话就是正是网上的浏览器版本比较低所以也能导出正常的文件,但是我自己的电脑版本高点的火狐浏览器就会变成json的不知道算不算是bug还是说不兼容。
楼主解决了吗,我也遇到了,刚入行写导入导出,火狐根本没法用
没有,你试试下载一个版本比较低的火狐浏览器看看能用不,谷歌的也能用。就版本比较高点的火狐浏览器不行。
@杨火火: 我换谷歌了 郁闷
@Kimblee: 谷歌的怎么样,导出正常吗?
@杨火火: Chromium 86.0 正常
@Kimblee: 谷歌的版本是正常的,其实我是想让你下载一个火狐50.0.1的版本看看。
@杨火火: 有空再搞吧,我浏览器都一堆插件,装回来比较费劲,懒得弄了。
我看了下后端的代码,跟日常用的第三方的导出是一样的。
– 杨火火 3年前没遇到过这种的.
– fangbao2008 3年前@fangbao2008: 我也是很懵。
– 杨火火 3年前