google-apps-script - 将表格从 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);
}
解决方案
推荐阅读
- php - 如何在 PDO 中使用 SELECT INTO
- javascript - 如何一次有条件地更新多个元素
- background-process - Python脚本在后台运行不写入文件?
- jquery - 我如何用计算jquery制作订单
- c# - 更新库存 ID 条目(提交)上的 SO 行扩展字段
- simulink - “查找”与 HDL 代码兼容的替代块
- blockchain - 锯齿交易处理器不响应 ping
- javascript - 单击表格行将参数发送到新页面?
- ios - videojs 没有从 IOS 中的 beforerequests 发送标头
- android - React Native嵌套的水平滚动视图不在Android上滚动