은 그냥 .NET 4.5의 x64 응용 프로그램에서 .NET 실행을 위해하는 SpreadsheetGear 2012 테스트를하고 엑셀 2013의 x64 RTM은 모두 오버 클럭 된 코어 i7-980X와 윈도우 8의 x64에서 실행.
수식 ("= RAND()"수식을 사용하여 1,000,000 개의 행과 10 개의 수식이있는 통합 문서를 만들었습니다.
Excel 2013에서 20.18 초 안에 통합 문서를 만들었으며 795MB의 RAM을 사용했으며 0.39 초 계산했습니다.
2012 년 통합 문서를 만들 때 0.42 초, 153MB의 RAM이 사용되며 0.09 초 계산됩니다.
SpreadsheetGear는 메모리 사용량에 의해서만 제한되며 Excel 사용률은 Excel 2013보다 빠르며 SpreadsheetGear 2012는 Excel 2013보다 더 빠른 속도로 대형 통합 문서를 만들고 계산합니다. 케이스.
.NET 용 SpreadsheetGear here의 무료 평가판을 다운로드 할 수 있습니다.
면책 조항 : 소유주가 SpreadsheetGear LLC입니다.
using System;
using SpreadsheetGear;
namespace SpreadsheetGearMemTest
{
class Program
{
static void Test(IWorkbook workbook, int rows, int cols)
{
var worksheet = workbook.Worksheets[0];
var cells = worksheet.Cells;
var timer = System.Diagnostics.Stopwatch.StartNew();
var startMem = System.GC.GetTotalMemory(true);
cells[0, 0, rows - 1, cols - 1].Formula = "=RAND()";
timer.Stop();
var memUsed = System.GC.GetTotalMemory(true) - startMem;
var calcTimer = System.Diagnostics.Stopwatch.StartNew();
workbook.WorkbookSet.Calculate();
Console.WriteLine("Creating took {0} seconds and {1}MB, calc took {2} seconds.",
timer.Elapsed.TotalSeconds, memUsed/(1024.0 * 1024.0), calcTimer.Elapsed.TotalSeconds);
workbook.Close();
}
static void Main(string[] args)
{
// Get the code JITed.
Test(Factory.GetWorkbook(), 100, 10);
// Do the test.
Test(Factory.GetWorkbook(), 1000000, 10);
}
}
}
당신의 응답을 주셔서 감사합니다 :
여기에 내가하는 SpreadsheetGear 위해 실행 된 코드입니다! WorkbookView로 데이터를 가져 오는 것이 스프레드 시트 크기 제한 이외의 다른 이유로 응용 프로그램을 왜곡시키는 이유를 자세히 조사 할 것입니다. 하지만 너는 나를 위해 그것을 확실히 좁혔다. 정말 감사! 내가 찾은 것이 무엇이든 유용하게 보이면, 나는 재 게시 할 것이다. –