Skip to content

feat: 实现表格跨页拆分 #41#765

Open
ThunderYu wants to merge 26 commits into
Hufe921:mainfrom
ThunderYu:split-table
Open

feat: 实现表格跨页拆分 #41#765
ThunderYu wants to merge 26 commits into
Hufe921:mainfrom
ThunderYu:split-table

Conversation

@ThunderYu

@ThunderYu ThunderYu commented Aug 18, 2024

Copy link
Copy Markdown
Contributor

TODO:

  • 表格内容跨页拆分
  • 跨页拆分后位置上下文修正
  • 跨页拆分后光标位置修正
  • 拆分出的后续行中的空单元格处理
  • 跨页行列操作处理(插入、删除)
  • ⌛表格各类操作支持跨页(如框选、合并、设置边框样式等)
  • 单元格中控件跨页处理
  • 单元格中列表跨页处理

Bugs

  • 拖拽使行高大于纸张内容区域高度时的异常处理
  • 表格拆分后,中文录入异常

@Whiteyingshan

Whiteyingshan commented Aug 21, 2024

Copy link
Copy Markdown

试了试发现拆分后会在顶部多出一页空白页,还有要是用鼠标将表格高度拖到高于页面的高度,会直接卡死

@ThunderYu

Copy link
Copy Markdown
Contributor Author

试了试发现拆分后会在顶部多出一页空白页,还有要是用鼠标将表格高度拖到高于页面的高度,会直接卡死

多出空白页的问题如何复现?

@Whiteyingshan

Whiteyingshan commented Aug 21, 2024

Copy link
Copy Markdown

多出空白页的问题如何复现?

创建一个1*1的表格进行分页拆分,准确来说表格第一行超过页面高度就会产生空白页
经测试是由于改变配置文件src\editor\utils\option.ts中的行间距defaultRowMargin为0.75再进行操作就会产生空白页

@ThunderYu

Copy link
Copy Markdown
Contributor Author

试试看空白页和卡死的问题是否还存在 @Whiteyingshan

@Whiteyingshan

Copy link
Copy Markdown

空白页行间距defaultRowMargin为0.75时还在
拖动卡死不在了,但是只要拖动超过最大高度后,再进行分页就会卡死

@ThunderYu

ThunderYu commented Aug 22, 2024

Copy link
Copy Markdown
Contributor Author

卡死的问题处理了下,至于defaultRowMargin为0.75时操作产生空白页的问题,已在另一个PR(#779)中修复,后续合过来。

@Whiteyingshan

Copy link
Copy Markdown

空白页和卡死的问题经测试已修复

@liushuai05

liushuai05 commented Aug 29, 2024

Copy link
Copy Markdown

试了一下简单表格可以用,但是复杂表格好像就不行了 大佬 @ThunderYu

image
image

我的数据json文件如下:
obj.json

不过能满足常规基本使用,非常棒,我发布到@liushuai05/canvas-editor包里面了

@ThunderYu

Copy link
Copy Markdown
Contributor Author

加载 obj.json 后如何操作复现问题? @liushuai05

@liushuai05

liushuai05 commented Aug 30, 2024

Copy link
Copy Markdown

加载 obj.json 后如何操作复现问题? @liushuai05

你加载这个json没复现出来嘛 大佬,那就先跳过这个问题吧 ,目前暂时不影响我这边业务开展
我就随便横竖合并几个单元格敲了一堆回车然后就这样了

并且我这边(正常业务逻辑)代码生成的table json 替换到源json中然后渲染出来的表格自动分页目前没出现问题

@ThunderYu

Copy link
Copy Markdown
Contributor Author

加载 obj.json 后如何操作复现问题? @liushuai05

你加载这个json没复现出来嘛 大佬,那就先跳过这个问题吧 ,目前暂时不影响我这边业务开展 我就随便横竖合并几个单元格敲了一堆回车然后就这样了

并且我这边(正常业务逻辑)代码生成的table json 替换到源json中然后渲染出来的表格自动分页目前没出现问题

目前看来确实还有些问题,特别是一些边界情况,这个后面我再处理下

@liushuai05

Copy link
Copy Markdown

加载 obj.json 后如何操作复现问题? @liushuai05

你加载这个json没复现出来嘛 大佬,那就先跳过这个问题吧 ,目前暂时不影响我这边业务开展 我就随便横竖合并几个单元格敲了一堆回车然后就这样了
并且我这边(正常业务逻辑)代码生成的table json 替换到源json中然后渲染出来的表格自动分页目前没出现问题

目前看来确实还有些问题,特别是一些边界情况,这个后面我再处理下

那太感谢了 不得不说这个pr 解决了我最后一公里痛点 过几天就要给客户演示 各种超长表格自动生成 真太棒了

@Hufe921 Hufe921 force-pushed the main branch 30 times, most recently from 96641a7 to 1322c86 Compare May 6, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants