小编Jac*_*rol的帖子

OpenXML - 表创建,如何创建表而不需要 excel 修复它们

我正在创建多个电子表格(单独的文件),每个电子表格包含多个工作表,当我在 Excel 中打开其中一个电子表格的输出文件时,它会询问我是否要修复它(这只在我添加表格时才会发生),并显示修复了什么:

Repaired Records: Table from /xl/tables/table1.xml part (Table)
Run Code Online (Sandbox Code Playgroud)

修复后,文件格式正确,但由于这是自动化的,我无法回复使用 Excel 修复这些文件。仅当我创建表时才会出现此问题。

例如:我使用以下参数调用 Define Table 方法来创建一个包含 11 行(包含第 2-12 行)和 8 列(包含第 1-8 行)的表:

DefineTable(worksheetPart, 2, 12, 1, 8);
Run Code Online (Sandbox Code Playgroud)

DefineTable方法如下所示:

private static void DefineTable(WorksheetPart worksheetPart, int rowMin, int rowMax, int colMin, int colMax)
    {
        TableDefinitionPart tableDefinitionPart = worksheetPart.AddNewPart<TableDefinitionPart>("rId" + (worksheetPart.TableDefinitionParts.Count() + 1));
        int tableNo = worksheetPart.TableDefinitionParts.Count();

        string reference = ((char)(64 + colMin)).ToString() + rowMin + ":" + ((char)(64 + colMax)).ToString() + rowMax;

        Table table = new Table() { Id …
Run Code Online (Sandbox Code Playgroud)

c# excel openxml-sdk

3
推荐指数
1
解决办法
7332
查看次数

标签 统计

c# ×1

excel ×1

openxml-sdk ×1