Да, но я не собираюсь публиковать их оба из любезности Syncfusion (они просят вас не публиковать тесты), потому что я не опытный тестировщик, поэтому мои тесты, вероятно, несколько ошибочны, но в основном потому, что вы на самом деле, тест имеет огромное значение для того, кто победит и на сколько.
Я взял один из их примеров «производительности» и добавил ту же процедуру в EPPlus, чтобы сравнить их. XLSIO был примерно на 15% быстрее с простыми вставками, в зависимости от соотношения строк / столбцов (я пробовал несколько), использование памяти казалось очень похожим. Когда я добавил подпрограмму, которая после добавления всех строк удаляла каждую 10-ю строку, а затем вставляла новую строку на 2 строки выше, в этом случае XLSIO был значительно медленнее.
Общий эталонный тест практически бесполезен для вас. Вам нужно попробовать их друг против друга в конкретных сценариях, которые вы используете.
Я использую EPPlus в течение нескольких лет, и производительность была хорошей, я не припоминаю, чтобы о ней кричали.
Более достойным внимания является функциональность, поддержка (по моему опыту, Syncfusion был хорош), документация, доступ к исходному коду, если это важно, и - что важно - насколько большой смысл имеет для вас API, синтаксис может быть совсем другим. например. Именованные стили
XLSIO
headerStyle.BeginUpdate();
workbook.SetPaletteColor(8, System.Drawing.Color.FromArgb(255, 174, 33));
headerStyle.Color = System.Drawing.Color.FromArgb(255, 174, 33);
headerStyle.Font.Bold = true;
headerStyle.Borders[ExcelBordersIndex.EdgeLeft] .LineStyle = ExcelLineStyle.Thin;
headerStyle.Borders[ExcelBordersIndex.EdgeRight] .LineStyle = ExcelLineStyle.Thin;
headerStyle.Borders[ExcelBordersIndex.EdgeTop] .LineStyle = ExcelLineStyle.Thin;
headerStyle.Borders[ExcelBordersIndex.EdgeBottom].LineStyle = ExcelLineStyle.Thin;
headerStyle.EndUpdate();
EPPlus
ExcelNamedStyleXml headerStyle = xlPackage.Workbook.Styles.CreateNamedStyle("HeaderStyle");
headerStyle.Style.Fill.PatternType = ExcelFillStyle.Solid; // <== needed or BackgroundColor throws an exception
headerStyle.Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.FromArgb(255, 174, 33));
headerStyle.Style.Font.Bold = true;
headerStyle.Style.Border.Left.Style = ExcelBorderStyle.Thin;
headerStyle.Style.Border.Right.Style = ExcelBorderStyle.Thin;
headerStyle.Style.Border.Top.Style = ExcelBorderStyle.Thin;
headerStyle.Style.Border.Bottom.Style = ExcelBorderStyle.Thin;