找回密码
 立即注册

QQ登录

只需一步,快速开始

Wilson.Zhang
超级版主   /  发表于:2024-11-6 10:52:03
11#
鸳鸯配2024 发表于 2024-11-6 09:18
这个只是监听当前单元格的输入事件。我想表达的是,在保存的过程中,如果正在输入的话,当前的单元格数据 ...

自动保存在后台根据定时等策略自动执行,与此同时,用户通过浏览器页面对单元格输入数据。如果后台有对sheet注册EditChange事件,那么便可以在任何时刻监听到对单元格的编辑动作,通过该事件记录单元格中的输入值和位置(行列索引)。结合这样的策略来辅助记录在自动保存时遗失的正在编辑中的单元格数据,提供给您这个方案供您尝试解决。您可以详细介绍下您的自动保存逻辑,是整体保存为某种类型的文件呢,还是其他的保存方式?
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-11-6 11:14:22
12#
Wilson.Zhang 发表于 2024-11-6 10:52
自动保存在后台根据定时等策略自动执行,与此同时,用户通过浏览器页面对单元格输入数据。如果后台有对sh ...

这个如果说需要回显的话,是可以的。如果不需要回显,数据还是丢失了。

就是每过几秒钟就会自动保存一次。但是发现在输入的过程中,正在输入的时候,如果要保存的话,数据会丢失。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-6 12:15:44
13#
鸳鸯配2024 发表于 2024-11-6 11:14
这个如果说需要回显的话,是可以的。如果不需要回显,数据还是丢失了。

就是每过几秒钟就会自动保存一 ...

我测试了下,每隔五秒将当前Workbook保存为ssjson文件,发现自动保存时当前正在编辑的单元格保留正在输入的内容,而导出的ssjson文件中不会包含不会包含正在编辑单元格中的数据。如下动图所示:
自动保存.gif

那么,您遇到的数据丢失是否也是指在导出的文件(即上图中导出所得的ssjson文件)中与当前被编辑的单元格相同位置的单元格中无数据?
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-11-6 18:21:03
14#
Wilson.Zhang 发表于 2024-11-6 12:15
我测试了下,每隔五秒将当前Workbook保存为ssjson文件,发现自动保存时当前正在编辑的单元格保留正在输入 ...

数据丢失就是在导出的时候。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-7 08:54:21
15#
鸳鸯配2024 发表于 2024-11-6 18:21
数据丢失就是在导出的时候。

如果希望在自动保存时能保存正在编辑的单元格,可以通过Workbook:focus()令Workbook失焦。您可以尝试下在自动保存时加上如下代码:
  1. spread.focus(false);
复制代码
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-11-8 11:08:42
16#
Wilson.Zhang 发表于 2024-11-7 08:54
如果希望在自动保存时能保存正在编辑的单元格,可以通过Workbook:focus()令Workbook失焦。您可以尝试下在 ...

如果不用失焦的方法,还有没有别的能够解决问题。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-8 12:27:57
17#
鸳鸯配2024 发表于 2024-11-8 11:08
如果不用失焦的方法,还有没有别的能够解决问题。

失焦可以令单元格退出编辑状态,或者等编辑完成后在后续的自动保存触发时同步保存。您可以自行评估下两种实现手段。
回复 使用道具 举报
鸳鸯配2024
金牌服务用户   /  发表于:2024-11-8 14:31:02
18#
Wilson.Zhang 发表于 2024-11-8 12:27
失焦可以令单元格退出编辑状态,或者等编辑完成后在后续的自动保存触发时同步保存。您可以自行评估下两种 ...

我可以理解为,只要是在编辑状态的话,在导出或保存的时候,正在编辑的数据,是会丢失的,是这样理解吧?
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2024-11-8 17:37:59
19#
本帖最后由 Wilson.Zhang 于 2024-11-8 17:40 编辑
鸳鸯配2024 发表于 2024-11-8 14:31
我可以理解为,只要是在编辑状态的话,在导出或保存的时候,正在编辑的数据,是会丢失的,是这样理解吧?

您的理解是正确的,还可以通过sheet.startEdit(false)退出编辑。

如果通过UI操作向单元格输入数据时,后台代码通过Workbook:export()导出当前文件以实现保存,那么,结果就是在导出的文件中不包含正在编辑的单元格中的内容。

如果通过UI操作向单元格输入数据,在任何时候通过工具菜单中的”导出“按钮导出时,由于先点击了工具栏中的“文件”选项卡,即可令单元格退出编辑状态,则导出的文件中也包含刚才被编辑的单元格内容。如下动图所示:
导出测试.gif
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部