下面的两个示例代码是从“将工作表合并为单个工作簿”中检索的- 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[][];
}
我已经尝试修改代码一段时间没有成功。任何想法都非常感谢。
1条答案
按热度按时间sq1bmfud1#
在阅读了一些Office脚本教程之后,这似乎是一个非常简单的问题。
我只是用所有名为“A”的工作表替换循环,它就可以工作了。
从“工作簿.getWorksheets().forEach((sheet)=〉{”
to“const sheet = workbook.getWorksheet('A ');”