我们有大约100K行要写入Excel。数据采用JSON格式和我们使用JSON.Net来解析数据并写入Excel。 对于写入Excel,我们使用的是Open XML。
我们不想为JSON& amp;创建POCO。因此使用JToken直接从JSON读取并写入File。 当列数较少时,我们没有遇到任何问题,但如果我们在Excel中有大约200列,则似乎存在一些性能问题。
有关如何解决此问题或我们可以通过其他方式实现所需输出的任何建议。
更新代码:
using (SpreadsheetDocument Excelfile = SpreadsheetDocument.Open(filepath, true))
{
Worksheet worksheet;
worksheet = Excelfile.WorkbookPart.WorksheetParts.First().Worksheet;
JToken JTokenObj = JObject.Parse(JsonResp);
List<JToken> JTokenList = JTokenObj["jsonkey"].ToList<JToken>();
SheetData sheetData = worksheet.GetFirstChild<SheetData>();
foreach(var tokenObj in JTokenList)
{
Row row;
row = new Row() { RowIndex = i };
sheetData.Append(row);
Cell newCell = new Cell() { CellReference = cellAddress };
newCell.CellValue = new CellValue(tokenObj["attributeName"]);
row.AppendChild(newCell);
}
Excelfile.WorkbookPart.Workbook.Save();
Excelfile.Close();
}