使用SAX为文档添加自动过滤器

本文关键字:过滤器 添加 文档 SAX 使用 | 更新日期: 2023-09-27 18:03:57

由于某些原因,我的代码不会将自动过滤器添加到电子表格中。它生成精细,但当打开自动过滤器是不存在的。下面是我的方法的相关片段。我尝试将自动过滤器附加到工作表,然后使用xmlwriter写入文档。

//create worksheet part, and add it to the sheets collection in workbook
WorksheetPart wsp = wbp.AddNewPart<WorksheetPart>();
OpenXmlWriter writer = OpenXmlWriter.Create(wsp);
var worksheet = new Worksheet();
worksheet.AppendChild<AutoFilter>(new AutoFilter() { Reference = "A:BA" });
writer.WriteStartElement(worksheet);
writer.WriteStartElement(new SheetData());

使用SAX为文档添加自动过滤器

我自己找到了答案。在写入工作表数据结束后,必须写入自动筛选器。

  writer.WriteEndElement(); //end of SheetData
  writer.WriteElement(new AutoFilter() { Reference = "A:BA" });
  writer.WriteEndElement(); //end of worksheet
  writer.Close();