Ниже рассмотрим пример сборки табличного документа.
Для примера переименовываем лист, используем метод SetName, заполняем первый лист данными из массива.
После чего добавим второй лист с наименованием “Документ конструктор”, используем метод AddSheet.
Установим значения для ячеек с наименованием категорий, используем метод SetValue.
Заполним наименование столбцов и случайными, цифровыми значениями диапазон с B2 по J6.
Для ячейки F1 добавим комментарий, используем метод AddComment.
После заполнения данными построим график типа «гистограмма с группировкой», используем метод AddChart. Добавляем наименование графика и наименование осей. Добавляем оформление для каждого столбца — задаем цвет.
Сохраняем таблицу.
builder.CreateFile("xlsx"); var oWorksheet = Api.GetActiveSheet(); oWorksheet.SetName("Товары"); var sHeaders = [ "ID", "Продукт", "Стоимость", "Наличие" ]; var sData = [ [ "SKU124-21", "SKU124-21", "SKU124-21", "SKU124-21" ], [ "Вода", "Сок", "Шоколад", "Яблоки" ], [ 60, 180, 80, 132.5 ], [ "false", "false", "true", "true" ] ]; for (var i = 0; i < sHeaders.length; i++) { oWorksheet.GetRangeByNumber(0, i).SetValue(sHeaders[i]); for (var j = 0; j < sData[0].length; j++) { oWorksheet.GetRangeByNumber(j + 1, i).SetValue(sData[i][j]); } } var oSheet = Api.AddSheet("Документ конструктор"); var oSheet = Api.GetActiveSheet(); oSheet.GetRange("A2").SetValue("Категория 1"); oSheet.GetRange("A3").SetValue("Категория 2"); oSheet.GetRange("A4").SetValue("Категория 3"); oSheet.GetRange("A5").SetValue("Категория 4"); oSheet.GetRange("A6").SetValue("Категория 5"); function getRandomInt(max) { return Math.floor(Math.random() * max); } for (var i = 1; i < 10; i++) { oSheet.GetRangeByNumber(0, i).SetValue("Ряд "+i); for (var j = 1; j < 6; j++) { oSheet.GetRangeByNumber(j, i).SetValue(getRandomInt(10)); } } var oRange2 = oSheet.GetRange("F1"); oRange2.AddComment("Комментарий"); var oChart = oSheet.AddChart("'Документ конструктор'!$A$1:$J$6", true, "bar", 5, 300 * 36000, 160 * 36000, 1, 0, 9, 0); oChart.SetVerAxisTitle("Vertical Title", 10); oChart.SetHorAxisTitle("Horizontal Title", 11); oChart.SetLegendPos("right"); oChart.SetShowDataLabels(false, false, true, false); oChart.SetTitle("Заголовок диаграммы", 17); var oFill = Api.CreateSolidFill(Api.CreateRGBColor(151, 31, 81)); oChart.SetSeriesFill(oFill, 0, false); oFill = Api.CreateSolidFill(Api.CreateRGBColor(255, 181, 161)); oChart.SetSeriesFill(oFill, 1, false); oFill = Api.CreateSolidFill(Api.CreateRGBColor(128, 128, 128)); oChart.SetSeriesFill(oFill, 2, false); oFill = Api.CreateSolidFill(Api.CreateRGBColor(255, 249, 22)); oChart.SetSeriesFill(oFill, 3, false); oFill = Api.CreateSolidFill(Api.CreateRGBColor(155, 249, 122)); oChart.SetSeriesFill(oFill, 4, false); builder.SaveFile("xlsx", "12Sprdeadata.xlsx"); builder.CloseFile();