github.com/ZeroHawkeye/wordZero 将三列的表格 , 竖的排两个表格
发布时间:2026/9/30 7:35:17 锦皓数字建站

根据你提供的 wordZero 库信息将三列表格改为竖排排列两个表格可以通过**嵌套表格**来实现。即在原表格的某个单元格内再嵌入一个新的表格。### 实现思路wordZero 的 TableCell 结构支持嵌套表格Tables 字段。你可以创建一个外层表格比如 1 行 1 列然后在这个单元格内放置两个独立的表格它们就会以垂直方向堆叠显示。### 代码示例以下是一个基于 wordZero API 的示例代码gopackage mainimport (loggithub.com/zerx-lab/wordZero/pkg/document)func main() {doc : document.New()// 1. 创建外层容器表格1行1列用于承载两个内层表格outerConfig : document.TableConfig{Rows: 1,Columns: 1,Width: 9000, // 可根据需要调整宽度}outerTable : doc.AddTable(outerConfig)// 2. 创建第一个三列表格内层表格1table1 : document.Table{Properties: document.TableProperties{TableW: document.TableWidth{W: 9000, Type: dxa},},Rows: []document.TableRow{{Cells: []document.TableCell{{Paragraphs: []document.Paragraph{{Runs: []document.Run{{Text: document.Text{Content: 表1-列1}}}}}},{Paragraphs: []document.Paragraph{{Runs: []document.Run{{Text: document.Text{Content: 表1-列2}}}}}},{Paragraphs: []document.Paragraph{{Runs: []document.Run{{Text: document.Text{Content: 表1-列3}}}}}},}},// 可继续添加更多行...},}// 3. 创建第二个三列表格内层表格2table2 : document.Table{Properties: document.TableProperties{TableW: document.TableWidth{W: 9000, Type: dxa},},Rows: []document.TableRow{{Cells: []document.TableCell{{Paragraphs: []document.Paragraph{{Runs: []document.Run{{Text: document.Text{Content: 表2-列1}}}}}},{Paragraphs: []document.Paragraph{{Runs: []document.Run{{Text: document.Text{Content: 表2-列2}}}}}},{Paragraphs: []document.Paragraph{{Runs: []document.Run{{Text: document.Text{Content: 表2-列3}}}}}},}},// 可继续添加更多行...},}// 4. 将两个表格依次放入外层容器的单元格中outerTable.Rows[0].Cells[0].Tables []document.Table{*table1, *table2}// 5. 确保单元格至少有一个段落OOXML 规范要求if len(outerTable.Rows[0].Cells[0].Paragraphs) 0 {outerTable.Rows[0].Cells[0].Paragraphs []document.Paragraph{{}}}// 保存文档if err : doc.Save(nested_tables.docx); err ! nil {log.Fatal(err)}}### 关键点1. **外层容器**创建一个 1 行 1 列的表格作为容器它的单元格将用来放置两个内层表格。2. **内层表格**两个内层表格都是三列结构通过 Table 结构体直接构建。3. **嵌套方式**将 table1 和 table2 的副本赋值给 outerTable.Rows[0].Cells[0].Tables 切片。切片中元素的顺序决定了它们在文档中的垂直排列顺序。4. **OOXML 规范**TableCell 中必须至少包含一个段落Paragraphs即使它是空的否则可能无法正确渲染。如果希望在两个表格之间添加一些间距可以在外层单元格的 Paragraphs 中插入空段落或者为内层表格设置不同的上边距。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。