typescript 指定要合并的工作表- Office脚本

qoefvg9y  于 2023-04-22  发布在  TypeScript
关注(0)|答案(1)|浏览(125)

下面的两个示例代码是从“将工作表合并为单个工作簿”中检索的- Office Scripts文档https://learn.microsoft.com/en-us/office/dev/scripts/resources/samples/combine-worksheets-into-single-workbook
对于包含多个工作表的工作簿,是否可以合并具有相同名称的特定工作表或工作簿中的第一个/最后一个工作表?

/**
 * This script returns the values from the used ranges on each worksheet.
 */
function main(workbook: ExcelScript.Workbook): WorksheetData[]
{
  // Create an object to return the data from each worksheet.
  let worksheetInformation: WorksheetData[] = [];

  // Get the data from every worksheet, one at a time.
  workbook.getWorksheets().forEach((sheet) => {
    let values = sheet.getUsedRange()?.getValues();
    worksheetInformation.push({
       name: sheet.getName(),
       data: values as string[][]
    });
  });

  return worksheetInformation;
}

// An interface to pass the worksheet name and cell values through a flow.
interface WorksheetData {
  name: string;
  data: string[][];
}
/**
 * This script creates a new worksheet in the current workbook for each WorksheetData object provided.
 */
function main(workbook: ExcelScript.Workbook, workbookName: string, worksheetInformation: WorksheetData[])
{
  // Add each new worksheet.
  worksheetInformation.forEach((value) => {
    let sheet = workbook.addWorksheet(`${workbookName}.${value.name}`);

    // If there was any data in the worksheet, add it to a new range.
    if (value.data) {
      let range = sheet.getRangeByIndexes(0, 0, value.data.length, value.data[0].length);
      range.setValues(value.data);
    }
  });
}

// An interface to pass the worksheet name and cell values through a flow.
interface WorksheetData {
  name: string;
  data: string[][];
}

我已经尝试修改代码一段时间没有成功。任何想法都非常感谢。

sq1bmfud

sq1bmfud1#

在阅读了一些Office脚本教程之后,这似乎是一个非常简单的问题。
我只是用所有名为“A”的工作表替换循环,它就可以工作了。
从“工作簿.getWorksheets().forEach((sheet)=〉{”
to“const sheet = workbook.getWorksheet('A ');”

相关问题