将 table 从一个 sheet 复制到另一个 sheet
Copy table from one sheet to another
我想将整个 table 从一个 sheet(inputSheet) 复制到另一个 (outputSheet),然后继续复制并添加更多 tables 到同一个输出表
以下是我尝试过的一些方法:
function main(workbook: ExcelScript.Workbook) {
const inputSheet = workbook.getWorksheet("Input")
const outputSheet = workbook.getWorksheet("Output")
// Worksheet addTable: The argument is invalid or missing or has an incorrect format.
const tableRange = inputSheet.getTables()[0].convertToRange()
const table = outputSheet.addTable(tableRange, true)
// Worksheet addTable: The argument is invalid or missing or has an incorrect format.
const tablaRange2 = inputSheet.getTables()[0].getRange()
const tabla2 = outputSheet.addTable(tablaRange2, true)
// this one kind of work but :
// 1- have to know the range in advance
// 2- the second table I copy(to the same outputSheet), gives an error saying that headers can't have rich text.
const newRange = outputSheet.getRange("A1:Z20")
.copyFrom(inputSheet.getRange("A1:Z20"), ExcelScript.RangeCopyType.all, false, false);
const newTable = eneSheet.addTable("A1:Z20", false)
}
我希望有类似于这种方式的直接复制 sheet:
const newSheet = previousSheet.copy(ExcelScript.WorksheetPositionType.after, anotherSheet)
但还没有找到 table 或 sheet 方法可以做到这一点。
如果您要处理包含类似结构的 table,则需要编写一些逻辑来组合它们。没有 API 创建 table 的新副本。添加来自其他类似 table 的行 - 这是一个非常自定义的逻辑。
在此处检查此项目以了解逻辑的两种变体(因为我不确定哪一种适合您的需要)。请查看分步视频以了解其工作原理。如果这不是您想要的场景,请告诉我。
https://github.com/sumurthy/officescripts-projects/tree/main/Copy%20Tables%20to%20Master%20Table
我想将整个 table 从一个 sheet(inputSheet) 复制到另一个 (outputSheet),然后继续复制并添加更多 tables 到同一个输出表
以下是我尝试过的一些方法:
function main(workbook: ExcelScript.Workbook) {
const inputSheet = workbook.getWorksheet("Input")
const outputSheet = workbook.getWorksheet("Output")
// Worksheet addTable: The argument is invalid or missing or has an incorrect format.
const tableRange = inputSheet.getTables()[0].convertToRange()
const table = outputSheet.addTable(tableRange, true)
// Worksheet addTable: The argument is invalid or missing or has an incorrect format.
const tablaRange2 = inputSheet.getTables()[0].getRange()
const tabla2 = outputSheet.addTable(tablaRange2, true)
// this one kind of work but :
// 1- have to know the range in advance
// 2- the second table I copy(to the same outputSheet), gives an error saying that headers can't have rich text.
const newRange = outputSheet.getRange("A1:Z20")
.copyFrom(inputSheet.getRange("A1:Z20"), ExcelScript.RangeCopyType.all, false, false);
const newTable = eneSheet.addTable("A1:Z20", false)
}
我希望有类似于这种方式的直接复制 sheet:
const newSheet = previousSheet.copy(ExcelScript.WorksheetPositionType.after, anotherSheet)
但还没有找到 table 或 sheet 方法可以做到这一点。
如果您要处理包含类似结构的 table,则需要编写一些逻辑来组合它们。没有 API 创建 table 的新副本。添加来自其他类似 table 的行 - 这是一个非常自定义的逻辑。
在此处检查此项目以了解逻辑的两种变体(因为我不确定哪一种适合您的需要)。请查看分步视频以了解其工作原理。如果这不是您想要的场景,请告诉我。
https://github.com/sumurthy/officescripts-projects/tree/main/Copy%20Tables%20to%20Master%20Table