手机版

JavaScript生成xls .文件的代码

时间:2021-09-06 来源:互联网 编辑:宝哥软件园 浏览:

贴代码,一切尽在注释中

html头元字符集=' utf-8 '/头体输入类型='按钮'值='下载设备模板onclick=' foo '/script type=' text/JavaScript ' language=' JavaScript ' var下载模板=function {/* * *根据所给数据创建并返回单行tr节点*数据(必选),标签(可选,标识创建的节点类型)* */var GetR=函数(数据,标记){ var tr=文档。创建元素(' tr ');for(var I=0;idata . LengTii){ var item=document。创建元素(标记| | ' TD ');项目。innerHTMl=数据[I];tr.appendChild(项目);}返回tr;};/** * 根据所给数据创建并返回桌子节点*数据(可选,无则返回空的桌子节点),头(可选,标识是否存在表头)**/var getTable=function(data,head){ var table=document。创建元素(“表”);var head=head | | false//存在表头设标识为呃,否则为tdvar标记=头?th ' : ' td//判断是一维||二维,执行不同逻辑排列的数据[0]实例){ for(var I=0;idata.lengthi ){//第一行数据根据标签创建节点类型(i==0)?桌子。appendchild(GetR)(数据[I],标记)):表。append child(GetR(data[I]);} } else if(数组的数据实例)表。appendchild(GetR(data,tag));返回表;};/** *表格(必选,表格节点)* uri为生成超过的头部标签* xmlns xml命名空间* 返回xls资源* */var getXls=function(table){ var uri=' data : application/vnd。ms-excel;base64 ';var 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-html 40 ' ' '头' '!-[if GTE MSO 9]' ' XML ' ' ' x : excelworkbook ' ' ' x : excelworksheets ' ' x : excelworksheets ' ' x : worksheetoperations ' ' x : display gridles/' '/x : worksheetoperations ' '/x : excelworksheets ' '/x : excelworksheetworkbook ' '/XML ' '![endif]-' '/head ' ' body ' ' table { table }/table ' '/body ' '/html ';/** * 转码base 64 * window.btoa能从ascii/二进制流中创建一个base64编码的字符串*逃跑编码联合国景观解码字符串* encodeURIComponent编码装饰组件解码字符串**/var base64=函数{返回窗口。btoa(une scape(encodeURIComponent(s)));};//返回替换完具体数据的xls模板var getXlsXml=函数(模板,数据){返回模板。替换(/{(\ w)}/g,数据);};//返回资源链接返回uri base64(getXlsXml(模板,表。innerHTMl));};/** * IE浏览器* 使用Microsoft ActiveXObject组件生成xls(只兼容工业管理学(工业工程)浏览器,选择允许加载组件)*表(必选,表格节点)* */var msDownload=函数(数据){var xls=新ActiveXObject('Excel .应用');xls.visible=truevar xlsBook=xls .工作簿。添加;var xlsheet=xlsBook .工作表(1);for(var I=0;如果(数组的数据[0]实例)为(var j=0;jdata[0].长度;j )xlsheet .细胞(i 1,j 1).值=数据[I][j];else xlsheet .细胞(1,i 1).值=数据[I];//用完释放xls=null };//参数:数据(必选,一维||二维数组),头(可选,标识是否存在表头)var download=function(数据,头){ if(窗口。领航员。用户代理。indexof(' MSIE ')=0)msDownload(数据);else /下载(RestFul:资源下载置于超链接,地址为资源定位地址)窗口。位置。href=getXls(getTable(data,head));};返回{ getXls:getXls,msDownload:msDownload,下载:下载};};//测试数据var od=['aid ',' pwd ','设备名称','网关DK ','区域'];var td=[ ['aid ',' pwd ','设备名称','网关DK ','区域],['10086 ',' root ','松下R-399 ',' 208564165456542 ',' 2 #201 ',['10001 ',' root ','索尼SUV 09 ',' 456542895564165 ',' 2 # 201 '];var foo=function {//new DownLoadTemplate。下载(od,真);新的下载模板。下载(TD,真);};/脚本/正文/html测试结果:

在工业管理学(工业工程)浏览器上需要允许加载微软倡导的微软倡导的ActiveX网络化多媒体对象技术网络化多媒体对象技术控件,之后在弹出的对话框中点击'是'

下载下来的表格如下:

镀铬:

打开表格:

以上是生成的代码。边肖引进的带有JavaScript的xls文件。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:JavaScript生成xls .文件的代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。