找回密码
 立即注册

QQ登录

只需一步,快速开始

M_栗子

注册会员

8

主题

32

帖子

100

积分

注册会员

积分
100
M_栗子
注册会员   /  发表于:2023-1-3 13:20  /   查看:3299  /  回复:7
1金币
本帖最后由 M_栗子 于 2023-1-9 09:10 编辑

_fpSpread.SaveExcel ( fileName, ExcelSaveFlags.UseOOXMLFormat );
模板编辑的时候看着是正常的,save的时候偶尔会在前面加_xlfn.SINGLE
附件demo生成的bin下的report
界面会不显示,但是和这部分没有关系。。。P:最新发现界面消失是因为我在两个文件、用两个不同的方式控制这个表格,两个文件中切换太快了,系统还没反应过来,所以偶尔会消失。加个sleep就好

图2.png
图1.png

最佳答案

查看完整内容

好的,看来破案了,目前在新版本的office365中,测试你的report文件,结果是正常的。 问题的原因就在于老版本的office2019的excel不支持“@”符号,但是spread.NET一直在更新以保持和当前最新版本的excel新特性做兼容的。所以新版本的excel中是正常的 参考微软官方对此问题的回复 https://techcommunity.microsoft.com/t5/excel/issue-xlfn-single-and-being-added-to-formulas-unsupported/m-p/1424697

7 个回复

正序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-4 16:52:48
9#
spread.NET没有办法保证导入xlsx再导出后其中的存储的内容完全不变的(不是说最终显示的效果)
包括任何excel外的工具或者控件(wps或者poi)也是没有办法保证的。原因是大家虽然都是按照openxml协议来对xlsx做支持的,但是仍有很多东西并不是通用的。

excel支持的一些东西,spread.net可能并不会做支持,比如宏.或者office中的其他关联的功能

具体到这个文件,你可以自己对比的。xlsx本身其实就是一个压缩包,你通过7zip就能打开来对比其中的内容

下面是我通过一个文件对比工具的对比截图,可以看到原来的文件中有很多关于printerSettings的bin文件,这个对于excel外的软件或者控件来说,显然是无法读取的。加载时自然也不会去读取,所以spread.net另存后体积会小很多



image.png689416503.png

image.png868666686.png
回复 使用道具 举报
M_栗子
注册会员   /  发表于:2023-1-4 14:09:33
8#
Richard.Ma 发表于 2023-1-4 11:16
好的,看来破案了,目前在新版本的office365中,测试你的report文件,结果是正常的。

问题的原因就在于 ...

image.png956282653.png 您看这个为什么保存之后变小了呢,这个在demo里面也有,您尝试跑一下看看,按说我是打开下面的模板,然后保存的,怎么会变小呢?
回复 使用道具 举报
M_栗子
注册会员   /  发表于:2023-1-4 09:47:18
6#
本帖最后由 M_栗子 于 2023-1-5 09:16 编辑
Richard.Ma 发表于 2023-1-4 09:22
你把保存后出现错误和正常的文件各发一个发过来吧,我在我这边测试一下,不排除是excel版本问题

里面的report是save后生成的,另外一个是模板
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-4 09:22:16
5#
你把保存后出现错误和正常的文件各发一个发过来吧,我在我这边测试一下,不排除是excel版本问题
回复 使用道具 举报
M_栗子
注册会员   /  发表于:2023-1-4 09:13:15
4#
Richard.Ma 发表于 2023-1-3 18:31
通过你发的demo也没有重现问题,这边就是把你的demo运行起来然后多次点击了保存按钮,但是保存的xlsx文件都 ...

可能和我用的office2019有关,看到其实界面上公式是能正常显示的。就是打开excel显示有点问题。界面消失可能不是这里的问题。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-3 18:31:50
2#
通过你发的demo也没有重现问题,这边就是把你的demo运行起来然后多次点击了保存按钮,但是保存的xlsx文件都是正常的。

还有其他的操作步骤吗?
回复 使用道具 举报
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-3 13:20:56
来自 7#
好的,看来破案了,目前在新版本的office365中,测试你的report文件,结果是正常的。

问题的原因就在于老版本的office2019的excel不支持“@”符号,但是spread.NET一直在更新以保持和当前最新版本的excel新特性做兼容的。所以新版本的excel中是正常的

参考微软官方对此问题的回复
https://techcommunity.microsoft. ... pported/m-p/1424697
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部