请选择 进入手机版 | 继续访问电脑版

LibreOffice 中文社区

 找回密码
 马上加入

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
开启左侧

[已提交官方] 无法打开浏览器导出的excel

[复制链接]
又是馒头 发表于 2021-8-17 17:10:55 | 显示全部楼层 |阅读模式
本帖最后由 又是馒头 于 2021-8-18 08:14 编辑

问题描述:我从金蝶云ERP上导出的excel表,可以从microsoft excel上打开,但是却无法从calc上打开,报错。

重现步骤:
当前的行为和结果:无法打开

期望的行为和结果:正常打开

操作系统和软件版本:win10教育版,版本号21H1,内部版本号19043.1165                                   事实上其他版本如win10 pro  、home  版本都一样,都打不开

用于测试的附件(非必须):附件已上传

采购申请单_2021081722033271_113773.zip

4.13 KB, 下载次数: 39

suokunlong 发表于 2021-11-4 13:54:38 | 显示全部楼层
我晕死,错了,错了!真正原因不是由于反斜杠的问题,是由于金碟使用的是ZIP64压缩,而 LibreOffice 尚不支持 ZIP64压缩的XLSX,见:
https://bugs.documentfoundation.org/show_bug.cgi?id=82984

我是通过在 package/source/zippackage/ZipPackage.cxx:592 中设置断点发现的,打开文件时程序在第776行捕捉到了异常,message为:
"ZipException: PK64 zip file entry /home/suokunlong/lo/source/core/package/source/zipapi/ZipFile.cxx:950"

package/source/zipapi/ZipFile.cxx:950目前处于FIXME状态。

因此这好像不是金碟的错。

(为了避免误解,这个回答被置顶了。因为下面的讨论有错误,仅供参考。)

开放,包容,奉献。
高原之狼 发表于 2021-8-17 18:32:37 | 显示全部楼层
确认 LibreOffice 7.2.0 RC3 在 Windows 10 下无法打开附件文档,让 LO 试图修复文档也失败。
Version: 7.2.0.3 (x64) / LibreOffice Community
Build ID: 2a7ea282da28d665a7dc086360567b4aea27bf08
CPU threads: 2; OS: Windows 10.0 Build 19043; UI render: Skia/Raster; VCL: win
Locale: zh-CN (zh_CN); UI: zh-CN
Calc: threaded

如果有人能确认此文档可在微软 Excel 中打开,我可以翻译此报告并提交给官方。
 楼主| 又是馒头 发表于 2021-8-17 21:07:25 | 显示全部楼层
高原之狼 发表于 2021-8-17 18:32
确认 LibreOffice 7.2.0 RC3 在 Windows 10 下无法打开附件文档,让 LO 试图修复文档也失败。
Version: 7.2 ...

我自己就可以证明这个文档excel可以打开, 屏幕截图 2021-08-17 210615.png

 楼主| 又是馒头 发表于 2021-8-17 21:16:15 | 显示全部楼层
高原之狼 发表于 2021-8-17 18:32
确认 LibreOffice 7.2.0 RC3 在 Windows 10 下无法打开附件文档,让 LO 试图修复文档也失败。
Version: 7.2 ...

我用excel2016打开后,没有做任何操作,直接另存了一个副本,然后复制到装有libreoffice的电脑上,这次可以打开了,但是从浏览器导出时,直接打开不行,先用excel打开保存一下或者另存一下,就可以了,这是什么原因呢?
高原之狼 发表于 2021-8-17 21:32:05 | 显示全部楼层
又是馒头 发表于 2021-8-17 21:16
我用excel2016打开后,没有做任何操作,直接另存了一个副本,然后复制到装有libreoffice的电脑上,这次可 ...

这在第三方软件产生的 .xlsx 格式文件中还是挺常见的,一般来说是第三方软件的文件不符合 OOXML 标准,而微软 Excel 读取文件时要求比自家标准更宽松的缘故。

看不到微软内部文件或源码,只能按照公开标准解读格式的 LibreOffice 遇到这种情况就没办法了,只能遇到一起解决一起。


suokunlong 发表于 2021-8-18 08:41:23 | 显示全部楼层
高原之狼 发表于 2021-8-17 21:32
这在第三方软件产生的 .xlsx 格式文件中还是挺常见的,一般来说是第三方软件的文件不符合 OOXML 标准,而 ...

1. 解压缩zip
2. 将得到的xlsx文件名后缀重命名为zip,解压缩
3. 分析得到的内容。可以看出,其标称的文档类型确实是application/vnd.openxmlformats-officedocument.spreadsheetml。LibreOffice当然支持这种格式,因此推测问题可能出在这个文档中的某些xml标记不符合OOXML标准,从而使得libreoffice无法解析。这是很常见的,毕竟文档是金蝶ERP生成的,金蝶的开发者对OOXML的理解不会像微软那么深入,出错在所难免。当然,这个文档本身可能是没有问题的、而是因为LO确实有bug。

无论如何,在报告bug之前,需要进一步分析才能知道问题在哪。


开放,包容,奉献。
suokunlong 发表于 2021-8-18 08:44:24 | 显示全部楼层
另请楼主告知你的金蝶ERP版本号。
做为备选方案,楼主在从金蝶导出时可以先选择别的格式,比如逗号分隔符格式csv或tab分隔符格式tsv,再用lo打开后另存为xlsx或ods格式,这样就可以暂时绕过这个问题。
开放,包容,奉献。
 楼主| 又是馒头 发表于 2021-8-18 10:45:09 | 显示全部楼层
suokunlong 发表于 2021-8-18 08:44
另请楼主告知你的金蝶ERP版本号。
做为备选方案,楼主在从金蝶导出时可以先选择别的格式,比如逗号分隔符格 ...

金蝶星空云版本7.5.1658.5


序号
提单号
补丁类型
补丁更新时间
补丁说明

1T202007060028标准补丁更新2020-07-06 21:24:43金蝶云星空 V7.5.1(6号补丁)[PT146836]


 楼主| 又是馒头 发表于 2021-8-18 10:51:45 | 显示全部楼层
suokunlong 发表于 2021-8-18 08:44
另请楼主告知你的金蝶ERP版本号。
做为备选方案,楼主在从金蝶导出时可以先选择别的格式,比如逗号分隔符格 ...

最新反馈
金蝶云引出格式,分为两种,97-2003的格式可以正常打开,但是2007-2010的  .xlsx就打不开了
MS Excel 97—2003(.xls)
MS Excel 2007—2010(.xlsx)

看图
微信截图_20210818104942.png
jmxhyz 发表于 2021-8-18 13:48:28 | 显示全部楼层
测试用的xlsx文件,用压缩软件将里面的 /docProps/custom.xml删除,在LibreOffice中即可正常打开。

LO就是难以兼容这些自定义的东西。但奇怪LO为什么不略过这些而是拼命尝试解释,造成LO假死。
*滑块验证:
您需要登录后才可以回帖 登录 | 马上加入

本版积分规则

Archiver|手机版|小黑屋|LibreOffice 中文社区 ( 粤ICP备13080851号-4 )

GMT+8, 2021-12-8 11:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表