Aspose.Cells, Version=18.10.0.0,遇到问题是多线程并行写,就这一行代码用时可超过500s,CPU和内存足够用,高峰期,CPU和内存有峰,但是最高只用CPU30%,内存也只用10G,最高限制线程30个并行。请问有什么解决办法吗?
每个线程用的workbook 是隔离的,不存在并发,只是可能系统资源可能存在竞争
@SalesDhorde
我们建议您尝试使用我们的最新版本Aspose.Cells for .NET v24.7.
如果您仍然发现问题,请分享您的Excel模板文件和可运行的测试代码,以便我们重现问题。我们很快就会检查。
刚试过新版。在测试时,好像每个workbook最后生成的时间相对比较均匀。
f2f41c44848f55e3573091f20ba08ea.png (50.0 KB)
9e46c840534df0ca983aa209249f805.png (77.2 KB)
@SalesDhorde
通过使用以下样例代码和样例文件在最新版本v24.7上进行测试,我们发现加载和保存耗时都是可以接受的。
DateTime start = DateTime.Now;
Workbook wb = new Workbook(filePath + "JGWBPJ_20240731.XLSX");
Console.WriteLine("加载耗时: " + DateTime.Now.Subtract(start));
start = DateTime.Now;
wb.Save(filePath + "out_net.xlsx");
Console.WriteLine("保存xlsx耗时: " + DateTime.Now.Subtract(start));
start = DateTime.Now;
wb.Save(filePath + "out_net.xls");
Console.WriteLine("保存xls耗时: " + DateTime.Now.Subtract(start));
输出结果:
加载耗时: 00:00:02.7000006
保存xlsx耗时: 00:00:02.9427922
保存xls耗时: 00:00:00.5822909
你的样例代码包含了很多和Aspose.Cells无关的代码,样例代码里还使用到了IWorkbook等其他操作Excel的类库。我们无法编译和评估耗时的问题是否由Aspose.Cells引起。你愿意提供一个可运行的console代码来复现问题吗? 我们很快就会检查。
其他类库时解决apose.cell 无法生成出excel95版本的问题,这个日志里根本没有涉及这一步,你们可以试试,这种30万行左右的数据在30-50个线程一起跑时,最后的耗时
请注意,与 XLSX 文件格式相比,XLS 文件格式对行数和列数的限制较少。XLS 文件最多可以有 65,536 行和 256 列,并且不能超过此数字。因此,单个工作表中无法保存 300K 行。
如果您仍然认为 Aspose.Cells 存在时间消耗问题或其他问题,请仅使用 Aspose.Cells for .NET API(请不要涉及其他库或组件)创建一个独立的(可运行的)控制台 .NET程序,并在此处将其提供给我们,以便我们重现该问题。我们将尽快检查您的问题。