Office.js Excel:格式化并写入可见的cel

时间:2019-06-04 08:34:29

标签: office-js excel-2016

是否可以格式化Excel.RangeView?不仅设置值,还可以更改背景颜色等?我正在使用此代码为所有单元格设置相同的值,并需要用红色突出显示它们

const range = context.workbook.getSelectedRange().getVisibleView();
range.load(['rowCount', 'columnCount']);
await context.sync();

range.set({
  values: Array(range.rowCount)
    .fill(0)
    .map(() =>
      Array(range.columnCount)
        .fill(0)
        .map(() => value)
    ),
  // TODO: investigate why this is not working:
  // format: {
  //    font: {
  //        color: 'red',
  //    },
  // },
});

2 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,我认为您想更改范围和字体颜色的背景色,因此可以使用以下API

range.format.fill.color

range.format.font.color

    range.format.fill.color = "#4472C4";
    range.format.font.color = "white";

更多信息可在以下网址找到: https://docs.microsoft.com/en-us/javascript/api/excel/excel.rangefill?view=office-js

答案 1 :(得分:1)

您正在混合使用Range和RangeView对象。您称为range的变量实际上是一个RangeView对象。 RangeView.set只能设置RangeView的属性。 RangeView对象没有format属性。尝试使用Worksheet.getRange(myRangeView.cellAddresses)将RangeView转换为范围。