【问题标题】:Make outline in Excel OpenXML在 Excel OpenXML 中制作大纲
【发布时间】:2018-04-02 21:54:24
【问题描述】:

我正在使用 OfficeOpenXml 行复制方法将行添加到电子表格中,每次添加行时,我都会设置行的轮廓级别(olLevel 在下面的循环之外递增)。我正在测试总共 12 行,尝试分成两组,每组 6 行。

for (int j = 0; j < employeeRecordCount; j++) {
detailRow.Copy(outputSheet.Cells[detailRowStart + j, columnA]);
outputSheet.Row(detailRowStart + j).OutlineLevel = olLevel;
startingRow++;
lastdetailRow++;}

当我打开电子表格时,所有行都在一组 12 行中,最后六行被分组但嵌套在更大的组中(六行独立于所有 12 行折叠/展开)。如果我重复输入文件中的 6 条记录,这些记录将组合为 12 条,而其他 6 条是嵌套的。

我知道我忘记设置除大纲级别之外的其他内容以保持组彼此分开,但我无法弄清楚。

谁能看到我错过了什么?

【问题讨论】:

    标签: c# xml excel ms-office openxml


    【解决方案1】:

    问题在于每个详细信息行都以标题行开头。 Excel 将所有行分组到一个级别,并创建另一个嵌套级别以将行分组到下一个唯一标题行下。

    我编辑了代码,不将大纲级别应用于第一个详细记录(标题行),并且这些行不再嵌套。

    【讨论】:

    • 所以将此标记为答案并添加相关代码sn-p。
    • 相关代码sn-p与上面的sn-p相差甚远。我正在遍历一个员工列表,并在上面的 sn-p 开始之前每个循环添加一行。
    猜你喜欢
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    相关资源
    最近更新 更多