public void Process() { WBReportExcel reportExcel = new WBReportExcel(); reportExcel.AddProgressReportObserver(this); if (reportExcel.Open(sourceFileName) == false) { return; } bool debugMode = false; if (debugMode) { reportExcel.SetVisibility(true); ProcessExcelReport(reportExcel); SendProgressReportUpdate("Обработка файла завершилась успешно."); } else { try { ProcessExcelReport(reportExcel); SendProgressReportUpdate("Обработка файла завершилась успешно."); } catch { SendProgressReportUpdate("Обработка файла завершилась с ошибкой!"); } reportExcel.SetVisibility(true); } }
void ProcessExcelReport(WBReportExcel reportExcel) { reportExcel.RemoveColumnWithSubHeader("Баркод"); reportExcel.RemoveColumnWithSubHeader("Размер"); reportExcel.RemoveColumnWithSubHeader("Контракт"); reportExcel.RemoveColumnWithHeaderAndSubHeader("Поступления", "с-с, руб"); reportExcel.RemoveColumnWithHeaderAndSubHeader("Поступления", "шт"); reportExcel.RemoveColumnWithHeaderAndSubHeader("Заказано", "с-с, руб"); reportExcel.RemoveColumnWithHeaderAndSubHeader("Максимально", "заказано шт в день"); reportExcel.RemoveColumnWithHeaderAndSubHeader("Возвраты до оплаты", "с-с, руб"); reportExcel.RemoveColumnWithHeaderAndSubHeader("Возвраты до оплаты", "шт"); reportExcel.RemoveColumnWithHeaderAndSubHeader("Продажи по оплатам", "с-с + вознагр, руб"); reportExcel.RemoveColumnWithHeaderAndSubHeader("Возвраты со склада поставщику", "с-с, руб"); reportExcel.RemoveColumnWithHeaderAndSubHeader("Возвраты со склада поставщику", "шт"); int keyColumn = reportExcel.FindColumnNumberBySubHeader("Артикул поставщика"); int[] valueColumns = { reportExcel.FindColumnNumberByHeaderAndSubHeader("Заказано", "шт"), reportExcel.FindColumnNumberByHeaderAndSubHeader("Продажи по оплатам", "шт"), reportExcel.FindColumnNumberByHeaderAndSubHeader("Текущий", "остаток, шт") }; reportExcel.RollUp(keyColumn, valueColumns); int inputForTemplateColumn = reportExcel.FindColumnNumberBySubHeader("Номенклатура (код 1С)"); reportExcel.AddColumnByTemplate("", "Ссылка", "https://www.wildberries.ru/catalog/%1/detail.aspx", inputForTemplateColumn, 60); reportExcel.AddSubtotals(valueColumns); reportExcel.SetAutoFilterOnSubHeader(); int brandColumn = reportExcel.FindColumnNumberBySubHeader("Бренд"); reportExcel.CreateSubtotalsWorksheet("Итоги по брендам", brandColumn, valueColumns); reportExcel.InitiateSaveAs(BuildFileNameFromReportTitle(reportExcel.GetReportTitle())); }