Бета-версия Office.js - Как создать диаграмму солнечных лучей - PullRequest
0 голосов
/ 09 января 2019

Бета-версия указывает, что поддерживаются новые диаграммы: «Изучите наши новые поддерживаемые типы диаграмм: карты, коробки и усы, водопад, солнечные лучи, Парето и воронка»

Я хотел бы привести пример создания новой диаграммы солнечных лучей с помощью объекта диаграммы

1 Ответ

0 голосов
/ 09 января 2019

async function createSunburstChart() {
  try {
    await Excel.run(async (context) => {
      await OfficeHelpers.ExcelUtilities.forceCreateSheet(context.workbook, "Sunburst");
      let sheet = context.workbook.worksheets.getItem("Sunburst");
      sheet.activate();
      sheet.showGridlines = false;
      //const sheet = context.workbook.worksheets.getActiveWorksheet();

      // prepare table data for waterfall chart
      // let expensesTable = sheet.tables.getItemOrNullObject("sunburst");
      // expensesTable.load("name");
      // await context.sync();
      // if (expensesTable.name == null)
      // {
      let expensesTable = sheet.tables.add("A1:C1", true);
      expensesTable.name = "sunburst";
      expensesTable.getHeaderRowRange().values = [["Category", "Sub-Category", "Sales"]];

      expensesTable.rows.add(null, [
        ["Furniture", "Furnishings", 560.32],
        ["", "Tables", 3123.518],
        ["", "Bookcases", 66.586],
        ["", "Furnishings", 560.32],
        ["", "Chairs", 1427.22],
        ["Office Supplies", "Storage", 902.28],
        ["", "Art", 306.776],
        ["", "Labels", 100.714],
        ["", "Paper", 255.806],
        ["", "Fasteners", 33.776],
        ["", "Binders", 236.668],
        ["", "Envelopes", 128.578],
        ["", "Appliances", 917.702],
        ["", "Supplies", 32.992],
        ["Technology", "Accessories", 1532.03],
        ["", "Phones", 3949.406],
        ["", "Accessories", 1532.03],
        ["", "Machines", 0]
      ]);
      // }

      //end of prepare table data for waterfall chart

      let bwRange = sheet.getRange("A1:C19");

      //let chart = sheet.charts.getItemOrNullObject("sunburst");
      // chart.load("name");
      // await context.sync();
      // if (chart.name == null) {
      let chart = sheet.charts.add("Sunburst", bwRange, "auto");
      chart.setPosition("E2:L19");
      chart.name = "sunburst";
      //}
      chart.series.getItemAt(0).hasDataLabels = true;
      await context.sync();
    });
  } catch (error) {
    OfficeHelpers.UI.notify(error);
    OfficeHelpers.Utilities.log(error);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...