在 Excel OpenXML 中制作大纲

Make outline in Excel OpenXML

我正在使用 OfficeOpenXml 行复制方法向电子表格添加行,每次添加行时,我都会设置该行的大纲级别(olLevel 在下面的循环之外递增)。我正在测试总共 12 行,试图将它们分成两组,每组六行。

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

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

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

谁能看到我错过了什么?

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

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