#office-scripts
#office-скрипты
Вопрос:
Я хотел бы скопировать всю таблицу с одного листа (inputSheet) на другой (outputSheet), а затем продолжать копировать и добавлять дополнительные таблицы в тот же ouputSheet
Вот некоторые вещи, которые я пробовал:
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)
}
Я надеюсь, что есть что-то простое, похожее на этот способ копирования листа:
const newSheet = previousSheet.copy(ExcelScript.WorksheetPositionType.after, anotherSheet)
Но не нашел метода таблицы или листа, который бы это делал.
Ответ №1:
Если вы имеете дело с таблицами, имеющими схожую структуру, вам нужно будет написать некоторую логику для их объединения. Нет API для создания новой копии таблицы. Добавление строк из других похожих таблиц — это очень нестандартная логика.
Проверьте этот проект здесь для двух вариантов логики (поскольку я не уверен, какой из них соответствует вашим потребностям). Посмотрите пошаговое видео, чтобы увидеть, как это работает. Если это не тот сценарий, который вы имеете в виду, пожалуйста, дайте мне знать.
https://github.com/sumurthy/officescripts-projects/tree/main/Copy Tables to Master Table
Комментарии:
1. Спасибо! Это очень поможет. С помощью этих примеров, я думаю, можно получить идеи о том, как выполнить мою пользовательскую логику.
2. Пожалуйста, прокомментируйте, если вам нужна помощь с какой-либо конкретной логикой или API.