You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#使用NPOI库生成Word文档时如何将两个表格放在同一行

NPOI 实现Word双表格同行展示方案

Word默认将表格识别为块级元素,独占一行排版,要实现两个表格并排展示,可选用以下两种成熟方案:

  • 方案1:创建1行2列的无框外层表格作为容器,将两个需要并排的表格分别嵌入外层表格的两个单元格中,视觉上无容器痕迹,兼容性最好,不会因Word版本差异出现排版错乱。
  • 方案2:给第一个表格设置文字环绕属性为「环绕」,调整表格右侧边距后插入第二个表格,实现并排效果。

方案1代码示例(推荐)

XWPFDocument doc = new XWPFDocument();

// 创建1行2列的外层容器表格
XWPFTable outerTable = doc.CreateTable(1, 2);
// 隐藏外层表格所有边框,实现视觉透明
int borderWidth = 0;
foreach (var row in outerTable.Rows)
{
    foreach (var cell in row.GetTableCells())
    {
        cell.SetBorderLeft(borderWidth);
        cell.SetBorderRight(borderWidth);
        cell.SetBorderTop(borderWidth);
        cell.SetBorderBottom(borderWidth);
        // 可按需调整单元格宽度,控制两个子表格的间距
        cell.SetWidth("3000");
    }
}

// 第一个单元格插入表格1
var cell1 = outerTable.GetRow(0).GetCell(0);
XWPFTable table1 = cell1.InsertNewTable(0, 1, 1);
table1.GetRow(0).GetCell(0).SetText("TABLE1");

// 第二个单元格插入表格2
var cell2 = outerTable.GetRow(0).GetCell(1);
XWPFTable table2 = cell2.InsertNewTable(0, 1, 1);
table2.GetRow(0).GetCell(0).SetText("TABLE2");

// 保存文档
using (FileStream fs = new FileStream("output.docx", FileMode.Create, FileAccess.Write))
{
    doc.Write(fs);
}

方案2代码示例

XWPFDocument doc = new XWPFDocument();

XWPFTable table1 = doc.CreateTable(1, 1);
table1.GetRow(0).GetCell(0).SetText("TABLE1");
// 设置第一个表格文字环绕属性
var table1Props = table1.GetCTTbl().AddNewTblPr();
var wrap = table1Props.AddNewTblpPr();
wrap.AddNewTblpW().val = ST_TblWidth.dxa;
wrap.AddNewTblpW().w = 100; // 表格右侧预留100单位间距,可按需调整
wrap.AddNewTblOverlap().val = ST_TblOverlap.never;
wrap.AddNewJc().val = ST_Jc.left;

// 插入第二个表格
XWPFTable table2 = doc.CreateTable(1, 1);
table2.GetRow(0).GetCell(0).SetText("TABLE2");

// 保存文档
using (FileStream fs = new FileStream("output.docx", FileMode.Create, FileAccess.Write))
{
    doc.Write(fs);
}

内容的提问来源于stack exchange,提问作者Jacek Kowalski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:36:04