HTML 表格转 Excel:网页 table 复制不乱列、可导出 xlsx

2026-07-09

常见场景

后台报表、第三方网站列表、Angular/React 数据表格——往往只能在线看,不能下载 Excel。手动 Ctrl+C 容易列错位、合并单元格乱掉

ComTools HTML 转 ExcelTools/Excel/HtmlToExcel)在浏览器本地解析 HTML,预览表格后:

  • 复制到 Excel(TSV + HTML 双格式剪贴板)
  • 导出 Excel 下载 .xlsx
  • 框选单元格 复制为 SQL IN 子句

支持的 HTML 结构

类型 示例
标准表格 <table><thead><tbody><tr><td>
Bootstrap 网格 .row + .col / .col-*
ngx-datatable datatable-* 组件结构
无障碍表格 role="table"role="gridcell"

解析逻辑见 excel-html-parse.js,自动推断行列。

使用步骤

  1. 在目标网页按 F12,选中表格节点,复制 outerHTML
  2. 打开 HTML 转 Excel,粘贴到左侧输入框。
  3. 右侧自动预览表格;可点击示例快速体验。
  4. 选择后续操作:
    • 复制到 Excel → 打开 Excel,Ctrl+V 粘贴
    • 导出 Excel → 下载 html-export.xlsx
    • 框选单元格 → 复制为 WHERE IN → 得到 IN (N'...', ...)

复制到 Excel 的原理

剪贴板同时写入:

  • text/plain:制表符分隔(TSV)
  • text/html:带 <table> 的 HTML

Excel 粘贴时列对齐比纯文本复制更稳定。

选中单元格生成 IN 子句

在预览表中单击、Shift 连选、Ctrl 多选单元格,点击「复制为 IN」:

IN (N'1001', N'1002', N'ORD-2024-001')

可粘贴进 WHERE id IN (...),或配合 文本转 SQL 调整分隔符。

常见场景

场景 做法
报表页抓取 Copy outerHTML → 本工具 → 导出 xlsx
Bootstrap 后台 复制 .container 下表格区域
只要 ID 列表查库 选中 ID 列 → 复制 IN
再美化 / 入库 格式化转 SQL
与 Excel 内置复制对比 复杂 DOM 用本工具更稳

隐私说明

HTML 在浏览器本地解析,不上传页面内容(导出 xlsx 时会将解析后的行数据提交服务端生成文件)。敏感页面优先使用「复制到 Excel」本地路径。

与其他文章

常见问题

Q:复制整页 HTML 可以吗?
A:尽量只复制表格相关节点,减少无关 div 干扰解析。

Q:合并单元格?
A:复杂合并可能展开为多格重复值,导出后请在 Excel 中核对。

Q:ngx-datatable 不识别?
A:尝试复制 datatable-body 或内部 <table> 片段。

Q:导出和复制哪个更好?
A:临时分析用复制;要 合并去重 或发文件用导出。


English version