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

Office.js Excel: Format and write to visible cel

有没有办法格式化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',
  //    },
  // },
});

如果我对你的问题理解正确,我想你想改变范围的背景颜色和字体颜色,因此你可以使用以下 API

range.format.fill.color

range.format.font.color

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

可在此处找到更多信息 url: https://docs.microsoft.com/en-us/javascript/api/excel/excel.rangefill?view=office-js

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

将 RangeView 转换为 Range