По крайней мере, с точки зрения использования памяти, это помогло бы иметь некоторое сравнение, возможно, против Excel, в том, сколько памяти используется, чтобы просто открыть результирующую книгу. Например, если вы должны были открыть окончательный отчет как в Excel, так и в приложении SpreadsheetGear 2012 для Windows (доступно в папке SpreadsheetGear в меню «Пуск»), что измеряет Диспетчер задач для каждого из этих приложений с точки зрения памяти потребление? Это может дать некоторое представление о том, является ли использование памяти, которое вы видите в процессе создания отчета, необычайно высоким (есть ли дополнительные дополнительные накладные расходы для вашей программы?) Или просто типично, учитывая размер создаваемой вами книги ,
С точки зрения использования ЦП, это немного сложнее определить и, безусловно, зависит от вашего оборудования, а также от деталей реализации в вашем коде. Запуск VS Profiler против вашей программы, безусловно, было бы интересно изучить, если у вас есть этот инструмент для вас. Вообще говоря, время CPU может быть разбито на несколько широких категорий - циклы процессоров, используемые для «построения» вашей книги и циклов процессора для «вычисления». Было бы полезно лучше определить, какая из них доминирует над ЦП. Одним из способов сделать это может быть, если это возможно, гарантировать, что вычисления не будут выполняться до тех пор, пока вы не закончите фактически создание рабочей книги. На самом деле, избегая любых ненужных вычислений, возможно, ускорить процесс ... это зависит от книги. Вы можете избежать вычислений, установив IWorkbookSet. Calculation до Manual и не вызывая никаких методов «Рассчитать» IWorkbook (Calculate/CalculateFull/CalculateFullRebuild), пока вы не освоитесь с этим процессом. Если у вас нет доступа к профилировщику, возможно, установите некоторые таймеры, Console.WriteLines и проверите диспетчер задач, чтобы узнать, как ваш процессор колеблется в разных частях вашей программы. С какой-либо удачей вы могли бы лучше изолировать, какая часть процедуры занимает больше всего времени.