如何将Google Docs中带图片的表格批量导入至Google Sheets
Google Docs带图表格迁移至Google Sheets 高效解决方案
推荐方案:Google Apps Script 批量处理(适配600+张图片的批量场景)
- 打开目标Google Sheets文件,点击顶部菜单栏「扩展程序」>「Apps Script」进入脚本编辑界面
- 清空默认生成的模板代码,粘贴如下可直接运行的代码:
function importDocsTableWithImages() { // 替换为你的Google Docs文档ID(文档链接中/d/和/edit之间的字符串) const DOC_ID = "替换为你的Docs ID"; // 若需要图片悬浮在单元格上方,将下方true改为false即可 const INSERT_INTO_CELL = true; const doc = DocumentApp.openById(DOC_ID); const body = doc.getBody(); const tables = body.getTables(); const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); let currentRow = 1; // 遍历Docs内所有表格 tables.forEach(table => { const numRows = table.getNumRows(); const numCols = table.getRow(0).getNumCells(); for (let i = 0; i < numRows; i++) { const row = table.getRow(i); for (let j = 0; j < numCols; j++) { const cell = row.getCell(j); // 先写入文本内容 sheet.getRange(currentRow + i, j + 1).setValue(cell.getText()); // 提取单元格内图片 const images = cell.getImages(); images.forEach(img => { const blob = img.getBlob(); if (INSERT_INTO_CELL) { sheet.insertImage(blob, j + 1, currentRow + i).setAnchorCellMode(SpreadsheetApp.AnchorCellMode.RESIZE_WITH_CELL); } else { sheet.insertImage(blob, j + 1, currentRow + i); } }) } } currentRow += numRows + 1; // 不同表格之间空一行,不需要可删除该行 }) SpreadsheetApp.getUi().alert("表格+图片迁移完成"); }
- 修改代码开头的
DOC_ID为你的Google Docs文档ID,根据需求调整INSERT_INTO_CELL参数 - 点击编辑器顶部的「保存」按钮,随便输入一个项目名,点击「运行」,首次运行需要按照提示完成账号授权,授权后脚本会自动执行
- 等待弹出「迁移完成」的提示后,返回Sheets即可看到带图的完整表格
无代码方案:Office中转(适合临时/少量图片场景)
- 打开Google Docs,点击「文件」>「下载」>「Microsoft Word (.docx)」,将文件保存到本地
- 用Microsoft Word打开下载的docx文件,选中需要迁移的表格,按
Ctrl+C复制 - 新建一个Microsoft Excel文件,按
Ctrl+V粘贴,此时表格内的图片会跟随文本保留在对应单元格位置 - 保存Excel文件后上传到Google Drive,右键点击文件选择「用Google Sheets打开」,等待系统自动转换完成即可保留所有图片和表格结构
注意事项
- 脚本运行前建议先备份原文档内容,避免操作失误导致数据丢失
- 若Docs内图片是插入在表格外的悬浮图片,需要先手动移入对应单元格后再执行迁移
内容的提问来源于stack exchange,提问作者Chetanya Kunndra
相关产品推荐
相关产品推荐

