Копирование таблицы с одного листа на другой

#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.