当前位置: 首页 > news >正文

Excel表格批注提取器-网页版源码

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8"><title>Excel 批注提取工具</title><script src="https://cdn.jsdelivr.net/npm/xlsx/dist/xlsx.full.min.js"></script><style>body {font-family: "Segoe UI", "Microsoft Yahei", sans-serif;background: linear-gradient(135deg, #74ABE2, #5563DE);color: #333;display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;}.container {background: #fff;padding: 30px;border-radius: 16px;box-shadow: 0 6px 20px rgba(0,0,0,0.2);text-align: center;width: 450px;animation: fadeIn 0.8s ease-in-out;}h1 {font-size: 22px;margin-bottom: 20px;color: #444;}input[type="file"] {display: none;}label {display: inline-block;background: #5563DE;color: #fff;padding: 10px 18px;border-radius: 8px;cursor: pointer;transition: 0.3s;}label:hover {background: #3f4bb3;}button {margin-top: 20px;background: #74ABE2;color: #fff;border: none;padding: 10px 18px;border-radius: 8px;cursor: pointer;transition: 0.3s;}button:hover {background: #4e8bd1;}.filename {margin-top: 10px;font-size: 14px;color: #666;}@keyframes fadeIn {from { opacity: 0; transform: translateY(20px); }to { opacity: 1; transform: translateY(0); }}</style>
</head>
<body><div class="container"><h1>Excel 批注提取工具</h1><form id="uploadForm"><input type="file" id="fileInput" accept=".xlsx" /><label for="fileInput">选择 Excel 文件</label><div class="filename" id="filename"></div><button type="button" onclick="extractComments()">提取批注并下载</button></form></div><script>let selectedFile;document.getElementById("fileInput").addEventListener("change", (e) => {selectedFile = e.target.files[0];document.getElementById("filename").innerText = selectedFile ? `已选择: ${selectedFile.name}` : "";});function extractComments() {if (!selectedFile) {alert("请先选择一个 Excel 文件!");return;}const reader = new FileReader();reader.onload = function(e) {const data = new Uint8Array(e.target.result);const workbook = XLSX.read(data, { type: "array", cellComments: true });// 创建新工作簿保存结果const outWB = XLSX.utils.book_new();const rows = [["工作表", "行", "列", "单元格内容", "批注内容"]];workbook.SheetNames.forEach(sheetName => {const ws = workbook.Sheets[sheetName];const range = XLSX.utils.decode_range(ws["!ref"]);for (let R = range.s.r; R <= range.e.r; ++R) {for (let C = range.s.c; C <= range.e.c; ++C) {const cellAddress = XLSX.utils.encode_cell({ r: R, c: C });const cell = ws[cellAddress];if (cell && cell.c) {cell.c.forEach(comment => {let text = comment.t || "";let author = comment.a || "";// 去掉批注人(如果文本以 "作者:" 开头)if (text.startsWith(author)) {text = text.slice(author.length).replace(/^[::]/, "").trim();}rows.push([sheetName,R + 1,C + 1,cell.v || "",text]);});}}}});// 转换为 sheet 并导出const outWS = XLSX.utils.aoa_to_sheet(rows);XLSX.utils.book_append_sheet(outWB, outWS, "批注汇总");XLSX.writeFile(outWB, "批注提取结果.xlsx");};reader.readAsArrayBuffer(selectedFile);}</script>
</body>
</html>

http://www.dtcms.com/a/456750.html

相关文章:

  • 【机器学习】无监督学习 —— K-Means 聚类、DBSCAN 聚类
  • 【深入浅出PyTorch】--3.2.PyTorch组成模块2
  • [C++] --- 常用设计模式
  • vite 怎么阻止某一页面的热更新
  • 邯郸网站设计做网站的一般尺寸
  • 【Linux系列】并发世界的基石:透彻理解 Linux 进程 — 进程优先级切换调度
  • 上海做网站技术做海报找素材网站
  • 全志 H3 armbian 备份
  • 【AI论文】DeepSearch:借助蒙特卡洛树搜索,以可验证奖励突破强化学习的瓶颈
  • 汽车信息安全新国标落地指南:GB 44496-2024测试验收实践
  • php网站怎么注入做网站都有备案吗
  • 大兴网站建设多少钱怎么建个网站
  • Java 大视界 -- Java 大数据机器学习模型在电商供应链库存协同管理与成本控制中的应用(421)
  • 【调研】加密货币/BTC/区块链的发展历史(2025)
  • 个人用云计算学习笔记 --20 (Nginx 服务器)
  • 【密码学实战】openHiTLS passwd命令行:专业密码哈希生成工具
  • form-data与x-www-form-urlencoded
  • 黑龙江省建设网官方网站中卫市平面设计培训学校
  • 《投资-105》价值投资者的认知升级与交易规则重构 - 如何从投资的角度看一下创业公司是否能够加入?你不是在找一份工作,你是在选择下一个5年的人生资产。
  • 前端梳理体系从常问问题去完善-框架篇(react生态)
  • 基于单片机的双档输出数字直流电压源设计
  • FastDDS
  • leetcode LCR.衣橱整理
  • 基于单片机的自动存包柜设计
  • 竞价关键词排名软件保山网站建设优化
  • 电力市场学习笔记(1):什么是电力现货交易
  • 单例模式:原理、实现与演进
  • 用AI帮忙,开发刷题小程序:微信小程序中实现Markdown图片解析与渲染功能详解
  • 天津魔方网站建设WordPress模板转换typecho
  • 小工具大体验:rlwrap加持下的Oracle/MySQL/SQL Server命令行交互