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