找回密码
 立即注册

QQ登录

只需一步,快速开始

假如明天会来临

注册会员

13

主题

37

帖子

132

积分

注册会员

积分
132
假如明天会来临
注册会员   /  发表于:2024-10-29 14:47  /   查看:169  /  回复:7
1金币
1.单元格是字符类型,内容是数字(日期)
cellvalue=202412

2.用Excel公式把转化为2024/12
formatstring=Text(cellvalue,'0000\/00 )'
3.对单元格进行format
sheet.getCell(row,col).formatter(formatstring)

4.SJS文件是可以正常表示,右击单元格,自定义格式是存在的
5.SJS文件下载变成Excel,单元格的自定义格式就没了

请问这是不是SpreadJS的问题,谢谢。

最佳答案

查看完整内容

如2楼第一个动图所示,导出后的Excel文件中依然存在自定义的formatter,只是这样的formatter不能将单元格内的数据转换为正确的日期。 需要在单元格中输入“2024-12”这样的数据,且将自定义格式设置为“yyyy/m“才能有效将其显示格式转换为”2024/12“。如下动图所示,演示了对单元格设置不同的自定义日期格式的显示效果,您可以结合动图理解下。 另外,自定义公式和自定义formatter不是相同的功能概念,需要再次跟您确 ...

7 个回复

倒序浏览
最佳答案
最佳答案
Wilson.Zhang
超级版主   /  发表于:2024-10-29 14:47:24
来自 4#
本帖最后由 Wilson.Zhang 于 2024-10-30 09:13 编辑
假如明天会来临 发表于 2024-10-29 17:39
你好
1 任意自定义公式都可以,目的是把单元格的原数据202412,在表示时变成2024/12
2 我excel导出时候 ...

如2楼第一个动图所示,导出后的Excel文件中依然存在自定义的formatter,只是这样的formatter不能将单元格内的数据转换为正确的日期。

需要在单元格中输入“2024-12”这样的数据,且将自定义格式设置为“yyyy/m“才能有效将其显示格式转换为”2024/12“。如下动图所示,演示了对单元格设置不同的自定义日期格式的显示效果,您可以结合动图理解下。
自定义日期显示格式.gif

另外,自定义公式和自定义formatter不是相同的功能概念,需要再次跟您确认下问题是与自定义公式有关还是与自定义formatter有关?
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-29 16:58:09
2#
您好!参考您描述的信息,我们尝试复现问题,如下动图所示,导出的Excel文件中被设置了显示格式的数据无法正常显示,显示为#序列,但格式仍然存在。同时,我们发现Text("202412", "0000\/00")的结果为2024/12,请问您是否需要定义一种日期显示格式呢?
formatter测试.gif

同时,我们在Excel中使用相同的设置方式测试,如下动图所示,与SpreadJS导出的现象一致。需要跟您确认下您的业务需求。
202412格式测试.gif
回复 使用道具 举报
假如明天会来临
注册会员   /  发表于:2024-10-29 17:39:39
3#
Wilson.Zhang 发表于 2024-10-29 16:58
您好!参考您描述的信息,我们尝试复现问题,如下动图所示,导出的Excel文件中被设置了显示格式的数据无法 ...

你好
1 任意自定义公式都可以,目的是把单元格的原数据202412,在表示时变成2024/12
2 我excel导出时候用
let json=JSON.stringfy(GcSpreadSheets.toJSON() )
const excelO=new Excel.IO()
excelO.save(json,(blob:Blob)
//把上面blob用 Json输出,自定义的formatter是存在的

但保存之后的excel文件里没有了
回复 使用道具 举报
假如明天会来临
注册会员   /  发表于:2024-10-30 09:29:50
5#
Wilson.Zhang 发表于 2024-10-30 09:12
如2楼第一个动图所示,导出后的Excel文件中依然存在自定义的formatter,只是这样的formatter不能将单元格 ...

谢谢指教。
设置formatter,里面内容是excel的公式,将当前单元格 indirect(address(row,()col(),4))
的数字格式化成日期格式yyyy/mm
sheet.getCell(row,col).formatter("formatterstring")
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-30 13:34:24
6#
假如明天会来临 发表于 2024-10-30 09:29
谢谢指教。
设置formatter,里面内容是excel的公式,将当前单元格 indirect(address(row,()col(),4))
的 ...

那么,请问下现在的方案可以满足您的需求了吗?
回复 使用道具 举报
假如明天会来临
注册会员   /  发表于:2024-10-30 18:00:02
7#
Wilson.Zhang 发表于 2024-10-30 13:34
那么,请问下现在的方案可以满足您的需求了吗?

谢谢,暂时没问题了
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-10-31 09:05:44
8#

不客气,那就结帖了。如有新问题,欢迎发新帖沟通。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部