首页 > 解决方案 > 将表格从 Google Sheet 复制到 Google Doc,并从源代码中保留边框和对齐方式

问题描述

我希望将表格从 Google 表格复制到 Google Doc,并希望目标表格保持源格式(字体大小、字体样式、垂直对齐和边框颜色)。

我能够实现前两个(字体大小和样式),但找不到边框和文本对齐(垂直和水平)的方法。

这是我到目前为止所拥有的...

function MyFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var range = sheet.getRange('A6:E27');
var values = range.getValues();
var table = reportBody.appendTable(values); 
var styles = range.getTextStyles();
var borders = range.getBorders();
var vAlign = range.getVerticalAlignment();

for (var i = 0; i < table.getNumRows(); i++) {
  for (var j = 0; j < table.getRow(i).getNumCells(); j++) {

var obj = {};
  obj[DocumentApp.Attribute.FONT_SIZE] = styles[i][j].getFontSize();
  obj[DocumentApp.Attribute.BOLD] = styles[i][j].isBold();
  obj[DocumentApp.Attribute.UNDERLINE] = styles[i][j].isUnderline();
  obj[DocumentApp.Attribute.ITALIC] = styles[i][j].isItalic();
  obj[DocumentApp.Attribute.PADDING_BOTTOM] = 0;
  obj[DocumentApp.Attribute.PADDING_TOP] = 0;
  obj[DocumentApp.Attribute.PADDING_LEFT] = 0;
  obj[DocumentApp.Attribute.PADDING_RIGHT] = 0;
  obj[DocumentApp.Attribute.BORDER_WIDTH] = borders[i][j].getWeight();
  obj[DocumentApp.Attribute.VERTICAL_ALIGNMENT] = vAlign[i][j].getVerticalAlignment();

table.getRow(i).getCell(j).setAttributes(obj);
}

标签: google-apps-script

解决方案


推荐阅读