gpt4 book ai didi

c# - Spreadsheetlight 内存使用

转载 作者:行者123 更新时间:2023-11-30 12:29:24 24 4
gpt4 key购买 nike

我对 SpreadSheetLight 有疑问。当我使用 SaveAs 方法时,它使用大约 1.2GB 的 RAM。我写了大约 6k 条记录,输出文件只有 6MB。其他人有这个问题吗?

另存为代码在这里:

using (var stream = new MemoryStream(Templates.BudgetTemplate))
{
using (var doc = new SLDocument(stream))
{
doc.SelectWorksheet("Sheet");

var i = 2; //first line is header
var list = new List<object>(); //list initialization from DB Collection

foreach (var item in list)
{
//doc.SetCellValue stuff, from A to AN columns

i++;
}

doc.SaveAs(_path);
}
}

最佳答案

这可能与文件大小缓冲区有关。就像运行 Excel 会占用数兆字节的 RAM 只是为了让您可以编写一个 20 KB 的文件一样,SpreadsheetLight 做类似的事情。

我们谈论的是 Open XML 电子表格,所以从技术上讲,整套 XML 文件都保存在内存中(在保存时)。例如,压缩文件时,将整个文本文件保存在内存中,然后将其压缩成一个较小的文件。这就是为什么 SpreadsheetLight(和其他库)比最终生成的文件占用更多 RAM。

关于c# - Spreadsheetlight 内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18661272/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com