如何从Google Docs导入表格至Google Sheets?求可用脚本方案
从Google Docs导入指定表格到Google Sheets的脚本实现
以下是可直接复制使用的Google Apps Script,实现类似IMPORTHTML的功能,支持指定表格索引将Google Docs中的表格导入到Google Sheets:
完整脚本代码
function IMPORTGOOGLEDOCS_TABLE(docUrl, tableIndex) { // 校验参数完整性 if (!docUrl || typeof tableIndex !== 'number') { return "错误:请提供有效的文档链接和表格索引(数字类型)"; } try { // 提取文档ID const docId = docUrl.match(/[-\w]{25,}/)[0]; const doc = DocumentApp.openById(docId); const body = doc.getBody(); const tables = body.getTables(); // 校验表格索引范围(索引从1开始,对应文档中第一个表格) if (tableIndex < 1 || tableIndex > tables.length) { return `错误:表格索引超出范围,当前文档共有${tables.length}个表格`; } // 提取目标表格数据 const targetTable = tables[tableIndex - 1]; const tableData = []; for (let i = 0; i < targetTable.getNumRows(); i++) { const row = targetTable.getRow(i); const rowData = []; for (let j = 0; j < row.getNumCells(); j++) { rowData.push(row.getCell(j).getText().trim()); } tableData.push(rowData); } return tableData; } catch (error) { return `错误:${error.message}`; } }
使用步骤
- 打开需要导入表格的Google Sheets文件
- 点击顶部菜单「扩展程序」>「Apps 脚本」,打开脚本编辑器
- 删除编辑器默认代码,粘贴上述完整脚本
- 点击编辑器顶部「保存」,为项目命名(比如「Import Docs Table」)
- 返回Google Sheets,在空白单元格输入公式:
第二个参数=IMPORTGOOGLEDOCS_TABLE("你的Google Docs完整链接", 1)1对应文档中第一个表格,需导入其他表格时修改为对应索引即可(如2对应第二个表格)
注意事项
- 第一次运行公式会弹出权限授权提示,需授权脚本访问你的Google Docs和Sheets数据(正常操作,脚本仅处理指定文档和表格)
- 确保你拥有目标Google Docs的查看权限
- 仅提取表格纯文本内容,格式(如颜色、合并单元格)不会被导入
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

