JS生成EXCEL(Chrome浏览器)

直接使用js+Html生成excel文件,当前版本:chrome浏览器

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="UTF-8">
 5     <style type="text/css">
 6         table{border-collapse: collapse; }
 7         th, td{border: 1px solid #4d4d4d;padding: 5px; }
 8     </style>
 9     <script type="text/javascript" language="javascript">
10         var idTmr;
11         function  getExplorer() {
12            var explorer = window.navigator.userAgent ;
13            if(explorer.indexOf("Chrome") >= 0){
14                 return ‘Chrome‘;
15            }else{
16                 alert("非chrome浏览器");
17                 return false;
18            }
19         }
20         function method1(tableid) {//整个表格拷贝到EXCEL中
21                 tableToExcel(‘tableId‘)
22         }
23         var tableToExcel = (function(tableId) {
24             //设置类型
25             var uri = ‘data:application/vnd.ms-excel;base64,‘,
26             template = ‘<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>‘,
27             //base64加密处理
28             base64 = function(s) {
29                 return window.btoa(unescape(encodeURIComponent(s)))
30             },
31             //格式化处理
32             format = function(s, c) {
33                     return s.replace(/{(\w+)}/g,
34                             function(m, p) {
35                                 return c[p];
36                             }
37                     )
38             };
39             //自动执行
40             return function(tableId, name) {
41                 var aLink=document.getElementById("dlink");
42                 var table = document.getElementById(tableId);
43                 // 获取表单的名字和表单查询的内容
44                 var ctx = {worksheet: name || ‘Worksheet‘, table: table.innerHTML};
45                 // format()函数:通过格式操作使任意类型的数据转换成一个字符串
46                 // base64():进行编码
47                 aLink.href = uri + base64(format(template, ctx))
48                 aLink.download="test.xls";
49                 aLink.click();
50             }
51         })()
52     </script>
53
54 </head>
55 <body>
56     <table id="tableId">
57         <tr>
58             <th></th>
59             <th>一</th>
60             <th>二</th>
61             <th>三</th>
62             <th>四</th>
63         </tr>
64         <tr>
65             <td>万籁寂无声</td>
66             <td>衾铁棱棱近五更</td>
67             <td>香断灯昏吟未稳</td>
68             <td>凄清</td>
69             <td>只有霜华伴月明</td>
70         </tr>
71         <tr>
72             <td>应是夜寒凝</td>
73             <td>恼得梅花睡不成</td>
74             <td>我念梅花花念我</td>
75             <td>关情</td>
76             <td>起看清冰满玉瓶</td>
77         </tr>
78     </table>
79     <br/>
80     <a id="dlink" style="display: none;"></a>
81       <input type="button" value="导出EXCEL" onclick="method1(‘tableId‘)" />
82 </body>
83 </html>

原文地址:https://www.cnblogs.com/newwind/p/9510842.html

时间: 2024-10-20 14:56:45

JS生成EXCEL(Chrome浏览器)的相关文章

使用node.js生成excel报表下载(excel-export express篇)

引言:日常工作中已经有许多应用功能块使用了nodejs作为web服务器,而生成报表下载也是我们在传统应用. java中提供了2套类库实现(jxl 和POI),.NET 作为微软的亲儿子更加不用说,各种com组件贴心使用. nodejs作为一门新的语言,报表功能也不是十分完善. (1).js-xlsx : 目前 Github 上 star 数量最多的处理 Excel 的库,支持解析多种格式表格XLSX / XLSM / XLSB / XLS / CSV,解析采用纯js实现,写入需要依赖nodejs

js判断是不是chrome浏览器

方法一: var isChrome = window.navigator.userAgent.indexOf("Chrome"); 1 <script> 2 var isChrome = window.navigator.userAgent.indexOf("Chrome"); 3 if(isChrome !== -1){ 4 console.log(111); 5 } 6 else{ 7 console.log(222); 8 } 9 10 </

c# mvc如何生成excel

我们知道mvc可以通过js生成excel文件,同样在后台c#中一样可以生成excel文件. 首先我们要在后台中写如下方法: [HttpGet]public FileResult excel_generation(string userid,string count,string order_id,string order_name,string rec_person,string height,string shoulder_width,string sleeve_length,string p

如何利用Grunt生成对应的Source Map文件,线上代码压缩使用chrome浏览器便于调式

首先我们来说说为何要生成sourceMap文件呢?简单的说,sourceMap是为了压缩后的代码调式提供方便,比如线上的JS文件已经压缩了,但是线上比如说有bug,但是代码已经是压缩后的,对于开发并不好调式,所以想生存一个对应的Map文件,然后使用chrome浏览器在源文件未压缩的JS文件下调式. 那么Map文件到底是什么呢?简单的来讲它就是记录信息,记录一些为压缩之前的js文件的位置,及压缩后的文件对应未压缩之前的文件,对应第几行第几列的那些代码! 在讲解使用grunt生存Map文件之前,我们

利用chrome浏览器调试js断点的2点心得

1.断点调试是啥?难不难? 断点调试其实并不是多么复杂的一件事,简单的理解无外呼就是打开浏览器,打开sources找到js文件,在行号上点一下罢了.操作起来似乎很简单,其实很多人纠结的是,是在哪里打断点?(我们先看一个断点截图,以chrome浏览器的断点为例) 步骤记住没? 用chrome浏览器打开页面 → 按f12打开开发者工具 → 打开Sources → 打开你要调试的js代码文件 → 在行号上单击一下,OK!恭喜你的处女断点打上了,哈哈~~ 2.断点怎么打才合适? 打断点操作很简单,核心的

浏览器端JS导出EXCEL

很多表格业务需要将表格数据导出为Excel,通常使用后台语言java或者php实现数据查询组织Excel文件,提供下载.如果使用客户端JS导出Excel的话,可以减轻服务器端的运算压力,并且能够快速响应. 早期浏览器端导出excel都是借助IE的ActiveX,需要调整浏览器的安全级别,且只能再IE浏览器下使用.我们需要一种跨平台的解决方案. 而Flash具有强大的客户端处理能力,其FileReference类可以从浏览器向本地存储数据.随着Html5的发展,File API也支持浏览器读写本地

CefSharp中实现Chrome中jS导出Excel

[前言] 在博客园闲逛了一年多,平时都是借鉴别人的成功经验,总觉得自己应该分享点什么,但是苦于自己技术有限,平时又不爱写东西,所以一直没有写过任何东西.毕业一年多,在现实工作中遇到各种问题,深切体会到遇到问题时的焦急与纠结.今天决定写自己的第一篇现实中遇到的问题.希望能够为遇到类似问题的博友们提供一些帮助.文章可能写的不好,请勿喷!! [背景] 使用JS将<table>数据以Excel形式已经不是新鲜事情,在IE中常常使用ActiveXObject来创建Excel.application对象来

关于chrome浏览器不能更新js的问题

今天写程序时,突然发现无论我怎么改本地js,用chrome打开时,均是改动之前的效果,F12查看Sources时发现js文件并没有被改动.由此引发的问题,经查询解决方法如下: F12后按F1,出现Settings界面,勾选Network下的Disable cache选项: 然后在浏览器设置里面找到隐私设置,点击清除浏览数据. 选中 缓存的图片和文件,点击清除浏览数据即可. 再次打开程序,js文件已得到更新.

在CMD下启动vmware、Xshell连接虚拟机以及控制Chrome浏览器自动执行js登录校园网

标题有点长,主要是写个bat出来玩玩, (1)不用每次都手动关闭mysql服务(我不想把它设为手动启动,有强迫症) (2)然后希望每次vmware能自动连上虚拟机 (3)以及每次Xshell都能自动启动,然后就连上虚拟机 (4)然后校园网每次都要打开,输入帐号密码什么的,才能连网,我希望它自己搞定 做完了这几步还是有点意思的,主要是浏览器还是网页的什么自动化测试,然后eclipse下项目打包成可执行的jar包 现在听我娓娓道来吧! 前面要达到的目的跟着后面的命令并无关联 (1)首先在bat里面关