2016-08-25 3 views
0

어떤 이유로 든 내 코드가 자동 필터를 스프레드 시트에 추가하지 않습니다. 그러나 자동 필터를 열면 자동으로 생성됩니다. 아래 내 방법에서 관련 스 니펫입니다. 자동 필터를 워크 시트에 추가 한 다음 xmlwriter를 사용하여 문서에 쓰려고합니다.OpenXML SAX를 사용하여 문서에 자동 필터 추가

//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()); 

답변

0

답을 직접 찾았습니다. 기록한 후에 자동 필터를 작성해야하는 시점이 시트 데이터의 끝입니다.

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