请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

innerwang

高级会员

120

主题

472

帖子

1238

积分

高级会员

积分
1238
innerwang
高级会员   /  发表于:2025-4-24 11:49  /   查看:276  /  回复:17
1金币
本帖最后由 Joestar.Xu 于 2025-4-28 09:44 编辑

调研编号:SJS-29516


通过 SpreadJS 导入excel 文件,开启了导入后重新计算,单元格对应的公式如下在Excel 打开的提示

image.png958578796.png

会出现某些场景下显示为#NAME? , 如下:


image.png774041442.png

可能会有什么原因?


对应电脑系统都是
image.png148886412.png

17 个回复

倒序浏览
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2025-4-24 17:40:14
沙发
您好,#NAME?报错的原因一般是由于公式不存在导致的,在部分旧版本的Excel和SpreadJS中不支持IMAGE函数,故出现了#NAME?的报错。

目前只有V17及以上的SpreadJS版本支持IMAGE函数。可以先确认一下SpreadJS的版本是否支持。
回复 使用道具 举报
innerwang
高级会员   /  发表于:2025-4-25 09:21:36
板凳
本帖最后由 innerwang 于 2025-4-25 09:28 编辑
Joestar.Xu 发表于 2025-4-24 17:40
您好,#NAME?报错的原因一般是由于公式不存在导致的,在部分旧版本的Excel和SpreadJS中不支持IMAGE函数,故 ...

有时候是可以显示成功图片的,有时候则为 #NAME?
版本肯定是对的,除此之外还可能有什么原因?

另,复现时调用 wb.toJSON() 查看单元格内容如下

image.png286836241.png

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2025-4-25 16:57:13
地板
您好,

“有时候是可以显示成功图片的,有时候则为 #NAME?”

该问题是否是在不同的文件中产生的?还是说出现问题的都为同一个文件?

“版本肯定是对的,除此之外还可能有什么原因?”

考虑到您这边一直用的是ExcelIO的导入方式,可以试试IO的导入方式,看是否还会出现这样的问题。

“另,复现时调用 wb.toJSON() 查看单元格内容如下。”

从JSON上查看无法判断出为什么会出现#NAME的问题。
回复 使用道具 举报
innerwang
高级会员   /  发表于:2025-4-27 09:18:49
5#
Joestar.Xu 发表于 2025-4-25 16:57
您好,

“有时候是可以显示成功图片的,有时候则为 #NAME?”

文件是同一个文件或者不是同一个文件,有什么区别呢?

不管是不是同一个文件,将正常和异常时的excel 文件下载下来,对应单元格的公式内容是一模一样的。

无法切换为 IO 尝试,因为这是客户环境才能复现的问题。

回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2025-4-27 11:48:29
6#
您好,如果出现问题的都是同一个文件,那么有可能是这个文件本身的某些设置存在问题。

或是试试在出现这种情况时,调用spread.calculate(GC.Spread.Sheets.CalculationType.rebuild)重建公式计算,看能否使IMAGE函数正常运算显示。
回复 使用道具 举报
innerwang
高级会员   /  发表于:2025-4-27 16:12:34
7#
本帖最后由 innerwang 于 2025-4-27 16:13 编辑
Joestar.Xu 发表于 2025-4-27 11:48
您好,如果出现问题的都是同一个文件,那么有可能是这个文件本身的某些设置存在问题。

或是试试在出现这 ...

试了下,入参不管是 rebuild 还是 all 都无法正常显示图片, 依然展示为 #NAME?
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2025-4-28 08:50:18
8#
了解了,这边调研一下,看是否有其他的场景会导致这种问题的出现,后续有进展我会在本贴中回复您。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2025-4-29 08:55:26
9#
本帖最后由 Joestar.Xu 于 2025-4-29 08:56 编辑

您好,这边和开发团队调研了一下,目前仍然无法复现出您的问题,也判断不出为什么会出现这样的问题,我们的建议是在碰到这种情况的时候参考下图的代码检查一下IMAGE函数是否存在。

image.png837155151.png
回复 使用道具 举报
innerwang
高级会员   /  发表于:2025-4-29 09:57:26
10#
本帖最后由 innerwang 于 2025-4-29 10:22 编辑
Joestar.Xu 发表于 2025-4-29 08:55
您好,这边和开发团队调研了一下,目前仍然无法复现出您的问题,也判断不出为什么会出现这样的问题,我们的 ...

已经确认,函数是存在的


之前截图中,#NAME? 时,toJSON() 查看单元信息时, value中的 _code 为 29 是什么意思?


另提供一下 debug 的信息:
出现 #NAME?  后,执行了 wb.resumenEvent()  和 wb.resumeCalcService()  后,仍然显示为 #NAME?

此时,修改某个纯文本单元格的内容,比如将 “款色”修改为“款式1”,方式为 wb.getActiveSheet().getCell(1,1).value('款式1'), 此时展示为 #NAME? 的单元格的图片就显示出来了

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部