0
각 행에 100 개의 새 셀을 추가해야하는 매우 큰 Excel 파일이 있습니다. OpenXML DOM 접근 방식이 나에게 OutOfMemory 예외를 제공하기 때문에 프로젝트에 OpenXmlWriter를 사용해야합니다.C# OpenXmlWriter (OpenXML SDK 2.5)를 사용하여 Excel 시트의 모든 행에 셀을 추가하는 방법
OpenXmlWriter를 사용하여 셀을 어떻게 추가 할 수 있는지 알려주는 사람이 있습니까?
이것은 DOM 접근 방식을 사용하여 내 코드입니다 :
int nRowCounter = 0;
foreach (Row row in sheetData.Elements<Row>())
{
// skip first row
nRowCounter++;
if (nRowCounter == 1)
continue;
string uniqueID = row.Elements<Cell>().First().InnerText;
string[] branchenOfId = crmConnector.GetBranchenFromCrm(uniqueID, "");
if (listSelectedBranchen.Any() && !branchenOfId.Intersect(listSelectedBranchen).Any() && nBranchenIndex == 1)
{
rowsToRemove.Add(row.RowIndex.Value);
continue;
}
string cellValue = "";
if (branchenOfId.Contains(strName))
cellValue = strName;
row.Append(new Cell() { DataType = CellValues.String, CellValue = new CellValue(cellValue) });
}
이것은 DOM의 접근 방식을 살펴 있습니다. 하지만 OpenXmlWriter를 사용해야합니다. – Blouflash
다음 링크에서 큰 파일에 OpenXmlWriter를 사용하는 방법을 살펴보십시오. http://polymathprogrammer.com/2012/08/06/how-to-properly-use-openxmlwriter-to-write-large-excel-files/ 예를 들어 설명합니다. –