#2363·excelize

特性请求: Get NonEmptyCells( 工作表) —— 单元格访问稀少, 不重复空单元格

作者: mcschmitz创建于 2026年7月27日更新于 2026年7月27日

□ 说明

添加一个只返回非空单元格作为结构化数据(row, 列, 值)的方法, 跳过空单元格 。 这避免了强迫呼叫者通过潜在的上百万个空出细胞来构建出一个稀少的电网.

□ 使用大小写

在构建数据提取管道(如将电子表格转换为用于LLM处理的结构数据)时,典型模式是:

  1. " GetRows(表) "
  2. 用调用者的语言排列,跳过空格
  3. 绘制一个零星的地图:`(row, col)->值'

对于一个有A1:Z5000(130k潜在细胞)但只有20k人口细胞的平板,我们徒步地活取了110k空细胞. Go 库已经知道 XML 解析时哪个单元格有值 。

□ 建议的API

开始 类型单元格 信息结构{ 整行 缩入 值字符串 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

/Get NonEmptyCells 将工作表中的所有非空单元格作为 CellInfo 片段返回。 // 选项控制格式化行为( 和 GetRows 相同) 。 func (f *File) Get NonEmptyCells (表格字符串, 选择... 选项) ([] CellInfo, 错误)


或者,一个流式版本:

开始
//NonEmptyCells在工作表中返回一个相对于非空单元格的延展器.
func (f *File) 非EmptyCells(表字符串,选择...可选) (*CellIterator,出错)

□为什么这个应该 生活在卓越

  • 已经解析 XML 并知道哪个单元格有值 。
  • 减少记忆:呼叫者不需要用所有空垫子来持有`[ []字符串'
  • 共同模式:每个用户楼都进行这种人工过滤
  • 补充现有的 " Rows " 流动浏览器,用于处理您想要很少访问的案件

内容来源: qax-os/excelize