浏览器如何读取本地Excel表格

news/2024/7/21 6:35:27 标签: excel, javascript, 前端

        浏览器可以读取Excel表格数据吗?
        答案是否定的,目前主流浏览器都无法打开本地Excel文档。
        答案也是肯定的,这就来看看具体实现方法!!!

        首先准备一个Excel表格文件

        保存在D:\\temp\测试表.xlsx。也就是一个普通的Excel表。

        读取Excel表格转JSON

        运行木头浏览器程序,通过自动控制菜单打开【项目管理器】,在左侧步骤树中创建一个【自定义变量】的步骤。添加一个自定义变量,设定其内容来自Excel文件,并选取上一步创建的文档D:\\temp\测试表.xlsx。设定获取该文档的第一个工作表,注意此处字段名保持空的就好了(如果填写字段名,则读取该字段下的数据。如果没有字段名,则读取整个工作表)。文件读取结果将转换为JSON文本格式并保存在一个名为【1Var1】的变量中。

        JSON转Table

        再创建一个【脚本代码】的步骤,我们通过执行Javascript代码,读取JSON数据,并转换为Html元素Table。最后把Table呈现在浏览器当前页面之上。


        JSON转Table代码

javascript">document.body.innerText="";//清空网页内容
var table = document.createElement('table');  //创建表格
var json = JSON.parse("{1Var1}"); //获取JSON数据
var thead = document.createElement('thead');  
var tr = document.createElement('tr');    
json.forEach(function(item, index) {  
  var th = document.createElement('th');  
  th.textContent = Object.keys(item)[index];
   th.setAttribute("style","border: solid; border-width: 1px;")
  tr.appendChild(th);  
});    
thead.appendChild(tr);  
table.appendChild(thead);  
document.body.appendChild(table);  
var tbody = document.createElement('tbody');  
json.forEach(function(item) {  
  var tr = document.createElement('tr');  
  Object.values(item).forEach(function(value) {  
    var td = document.createElement('td');  
    td.textContent = value;  
    td.setAttribute("style","border: solid; border-width: 1px;")
    tr.appendChild(td);  
  });  
  tbody.appendChild(tr);  
});
table.appendChild(tbody);
table.outerHTML

       浏览器显示Excel内容

        通过执行上面的代码,浏览器页面被Excel表格内容替换。
 

        从Excel工作表转换JSON,再把JSON转换为网页表格,这就实现了浏览器读取Excel内容。


http://www.niftyadmin.cn/n/5221486.html

相关文章

Metasploit框架(1), 简介, 主要模块, 目录, 基本命令, 入侵案例

Metasploit框架(1), 简介, 主要模块, 目录, 基本命令, 入侵案例 Metasploit是一款开源的 安全漏洞 检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的 安全风险 情…

fatal: remote error: upload-pack: not our ref (未解决问题)

PX4使用 git submodule update --init --recursive报错 fatal: remote error: upload-pack: not our ref解决办法参考:https://stackoverflow.com/questions/61163082/why-does-git-submodule-update-fail-with-fatal-remote-error-upload-pack-not-o 感觉就是清…

Charles下载安装及配置之Mac

因工作需要用到抓包工具,但Fiddler不能在mac上使用,所以找到了Charles,Charles其实是一款代理服务器,通过过将自己设置成系统(电脑或者浏览器)的网络访问代理服务器,然后截取请求和请求结果达到…

Hive数据库与表操作

文章目录 一、准备工作二、Hive数据库操作(一)Hive数据存储(二)创建数据库(三)查看数据库(四)修改数据库信息 一、准备工作 二、Hive数据库操作 (一)Hive数据…

酵母双杂交服务专题(二)

在理解了蛋白互作关系基础之上,为了解析它们的互作机制,往往还需要对其上下游通路上的基因进行分析。蛋白质之间的相互作用通过促进或抑制下游基因的转录,从而影响细胞的一系列生命过程。酵母单杂交技术是一种研究蛋白和DNA相互作用的常用手段…

【微软技术栈】实现EAP(基于事件的异步模式)

本文内容 实现基于事件的异步模式的时机命名异步方法选择性地支持取消选择性地支持 IsBusy 属性选择性地为进度报告提供支持选择性地为返回增量结果提供支持处理方法中的 Out 和 Ref 参数 如果要编写的类有一些可能会带来明显延迟的操作,请考虑按照基于事件的异步…

C# 忽略大小写

在 C# 中,你可以通过以下几种方式来忽略大小写: 使用 ToLower 或 ToUpper 方法将字符串转换为全小写或全大写,然后进行比较。使用 Compare 或 CompareOrdinal 方法,并传入正确的 StringComparer 实例以指示比较应该忽略大小写。使…

linux 磁盘管理、分区管理常用命令

文章目录 基础命令挂载新硬盘/分区添加内存交换分区swaplvm分区管理模式 基础命令 查看目录文件大小 du -sh /backup du -sh /backup/* du -sh *查看磁盘挂载信息 df -lhT查看某个目录挂载在哪个分区,以及分区的磁盘使用情况 df [目录] #例如:df /ho…