0
非常に大きなExcelファイルがあり、各行に100個の新しいセルを追加する必要があります。 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/これは例で説明されています。 –