5
我有一個Excel模板與各種表格,我傾銷從SQL Server使用OpenXML,C#檢索數據。 在完成數據轉儲後,我需要根據條件隱藏一些表單。我找不到任何代碼來隱藏使用C#OpenXML的特定工作表。如何使用OpenXML C#在Excel中隱藏工作表?
我試過以下,但工作表沒有隱藏起來。在這個
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();
}
}
請求幫助。
謝謝。
非常感謝。這工作。 :-) – Raghu 2012-08-16 14:11:50
我試了相同的代碼,通過調試每一行,一切都很好。但執行代碼後。當我打開Excel文件表沒有隱藏。你可以幫我嗎? – 2015-12-11 07:27:48
@NarendraKumar:如果不知道你的excel文檔的確切結構和excel表格的名字,很難提供幫助。你有幾張牀單? – Hans 2015-12-11 07:50:44