Как скрыть лист в Excel с помощью OpenXML C #?

У меня есть шаблон Excel с различными листами, на которые я сбрасываю данные, полученные с SQL Server, используя OpenXML, C #. После того, как я закончу сброс данных, мне нужно скрыть некоторые листы в зависимости от условий. Я не смог найти фрагмент кода, чтобы скрыть конкретный лист с помощью 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();
}
}

Просьба помочь в этом.

Спасибо.

7
задан Raghu 12 August 2012 в 12:02
поделиться