我有一个Excel模板,其中包含各种工作表,我正在使用OpenXML和C#从SQL Server检索数据并将其转储到这些工作表中。在完成数据转储后,根据条件需要隐藏一些工作表。我找不到任何使用C# OpenXML隐藏特定工作表的代码片段。
我尝试了以下方法,但是这些工作表没有被隐藏。
我尝试了以下方法,但是这些工作表没有被隐藏。
byte[] byteArray = File.ReadAllBytes("D:\\rptTemplate.xlsx");
using (MemoryStream mem = new MemoryStream())
{
mem.Write(byteArray, 0, (int)byteArray.Length);
using (SpreadsheetDocument rptTemplate = SpreadsheetDocument.Open(mem, true))
{
foreach (OpenXmlElement oxe in (rptTemplate.WorkbookPart.Workbook.Sheets).ChildElements)
{
if(((DocumentFormat.OpenXml.Spreadsheet.Sheet)(oxe)).Name == "ABC")
((DocumentFormat.OpenXml.Spreadsheet.Sheet)(oxe)).State = SheetStateValues.Hidden;
}
rptTemplate.WorkbookPart.Workbook.Save();
}
}
请在此请求帮助。
谢谢。