@cmbramwell Я рад, что ваша проблема была решена. И тебе спасибо.
ление: я написал для циклов, чтобы исправить объединенные ячейки и проблемы ширины столбца. Просто нужна помощь с границами!
Я работаю над копированием диапазона ячеек из одной таблицы Google в другую таблицу Google. Трудная часть в том, что я пытаюсь сохранить ВСЕ форматирование. До сих пор мне удалось сохранить все форматирование, кроме 3 элементов: границ ячеек, различных объединенных ячеек и ширины столбцов. Любая помощь будет принята с благодарностью. Извините заранее, только что узнал о Google App Script вчера, и я никогда не использовал JS раньше.
function importTable() {
// Source spreadsheet
var srcSpreadSheet = SpreadsheetApp.openById("SpreadSheet-ID");
var scrSheet = srcSpreadSheet.setActiveSheet(srcSpreadSheet.getSheetByName("Sheet1"));
// Destination spreadsheet
var destSpreadSheet = SpreadsheetApp.openById("SpreadSheet-ID");
var destSheet = destSpreadSheet.setActiveSheet(destSpreadSheet.getSheetByName("Test"));
destSheet.clear();
// Get data and formatting from the source sheet
var range = scrSheet.getRange(1, 2, 24, 16);
var values = range.getValues();
var background = range.getBackgrounds();
var banding = range.getBandings();
var mergedRanges = range.getMergedRanges();
var fontColor = range.getFontColors();
var fontFamily = range.getFontFamilies();
var fontLine = range.getFontLines();
var fontSize = range.getFontSizes();
var fontStyle = range.getFontStyles();
var fontWeight = range.getFontWeights();
var horAlign = range.getHorizontalAlignments();
var textStyle = range.getTextStyles();
var vertAlign = range.getVerticalAlignments();
// Put data and formatting in the destination sheet
var destRange = destSheet.getRange(1, 2, 24, 16);
destRange.setValues(values);
destRange.setBackgrounds(background);
destRange.setFontColors(fontColor);
destRange.setFontFamilies(fontFamily);
destRange.setFontLines(fontLine);
destRange.setFontSizes(fontSize);
destRange.setFontStyles(fontStyle);
destRange.setFontWeights(fontWeight);
destRange.setHorizontalAlignments(horAlign);
destRange.setTextStyles(textStyle);
destRange.setVerticalAlignments(vertAlign);
// Iterate through to put merged ranges in place
for (var i = 0; i < mergedRanges.length; i++) {
destSheet.getRange(mergedRanges[i].getA1Notation()).merge();
}
// Iterate through to get the column width of the source destination
for (var i = 1; i < 18; i++) {
var width = scrSheet.getColumnWidth(i);
destSheet.setColumnWidth(i, width);
}
// Iterate through to get the row heighth of the source destination
for (var i = 1; i < 27; i++){
var height = scrSheet.getRowHeight(i);
destSheet.setRowHeight(i, height);
}
}