找回密码
 立即注册

QQ登录

只需一步,快速开始

rick187

注册会员

3

主题

5

帖子

26

积分

注册会员

积分
26
  • 747

    金币

  • 3

    主题

  • 5

    帖子

最新发帖
rick187
注册会员   /  发表于:2022-10-20 17:16  /   查看:883  /  回复:1
1金币
image.png162995604.png
如图, 使用 Spread 导出 Excel 的功能导出一个 Excel, 在里面选中空的单元格, 复制, 再在网页里的 Spread 表格里粘贴, 发现会有一个空格, 监听 ClipboardPasting 事件, pasteData 的 text 的内容是 " \r\n ", 如下图
image.png565303954.png

怎么去掉这个空格?

最佳答案

查看完整内容

这个是个已知问题,目前没有太好的解决方案,因为复制的时候系统的剪切板里就会有一个空格,如下图所示 SpreadJS无法区分这个空格是自带的还是认为输入的,所以无法判断是否该保留这个空格。 有一个临时的workaround供参考

1 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-20 17:16:07
来自 2#
这个是个已知问题,目前没有太好的解决方案,因为复制的时候系统的剪切板里就会有一个空格,如下图所示
image.png137858885.png
SpreadJS无法区分这个空格是自带的还是认为输入的,所以无法判断是否该保留这个空格。
有一个临时的workaround供参考
  1. let Worksheet_prototype = GC.Spread.Sheets.Worksheet.prototype;
  2. let oldSetValue = Worksheet_prototype.setValue;
  3. spread.bind(GC.Spread.Sheets.Events.ClipboardPasting, function (e, args) {
  4.     Worksheet_prototype.setValue = function (row, col, value, sheetArea, ignoreRecalc) {
  5.         if (typeof value === "string" && value.trim() === "") {
  6.             return;
  7.         }
  8.         oldSetValue.apply(this, arguments);
  9.     }
  10. });
  11. spread.bind(GC.Spread.Sheets.Events.ClipboardPasted, function (e, args) {
  12.     Worksheet_prototype.setValue = oldSetValue;
  13. });
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部