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

如何在.NET C#中通过Open XML SDK访问Excel Table Design选项卡的Resize Table功能

使用Open XML SDK调整Excel表格大小的实现方案

Excel UI中的Resize Table功能在Open XML中没有封装对应的直接方法,你可以通过修改表格对象的核心属性实现相同效果,具体实现步骤如下:

  • 引入必要的命名空间
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
  • 核心实现逻辑
    你需要先定位到目标表格,修改其引用范围,再同步更新关联的筛选配置即可,示例代码如下:
// 打开Excel文件,Open模式设置为可读写
using (SpreadsheetDocument doc = SpreadsheetDocument.Open("你的模板文件路径.xlsx", true))
{
    // 获取目标工作表部分,示例取第一个工作表,你可以根据名称自行匹配目标表
    WorksheetPart worksheetPart = doc.WorkbookPart.WorksheetParts.First();
    Worksheet worksheet = worksheetPart.Worksheet;

    // 获取工作表中的所有表格,匹配你要调整的目标表格
    TableDefinitionPart tablePart = worksheetPart.TableDefinitionParts.First();
    Table targetTable = tablePart.Table;

    // 定义新的表格范围,示例将原A1:C5的范围扩展到A1:C10
    string newRange = "A1:C10";
    // 修改表格的引用范围
    targetTable.Reference = newRange;
    // 同步修改自动筛选的引用范围,否则打开文件会报格式错误
    if (targetTable.AutoFilter != null)
    {
        targetTable.AutoFilter.Reference = newRange;
    }

    // 若表格包含计算列,可在此处补充逻辑更新计算列的公式应用范围

    // 保存表格修改
    targetTable.Save();
    // 保存工作表修改
    worksheet.Save();
}
  • 注意事项
    • 若你需要扩大表格范围,请确保新范围对应的行、列已经在工作表中存在,否则打开文件时会出现结构错误
    • 表格自带的单元格样式会自动继承到新扩展的范围,无需额外配置
    • 调整前请做好原模板的备份,避免修改错误导致文件损坏

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:18:01