<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
6 <title>WEB页面导出为EXCEL文档的方法</title>
7</head>
8<body>
9<table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0">
10 <tr>
11 <td colspan="5" align="center">WEB页面导出为EXCEL文档的方法</td>
12 </tr>
13 <tr>
14 <td>列标题1</td>
15 <td>列标题2</td>
16 <td>列标题3</td>
17 <td>列标题4</td>
18 <td>列标题5</td>
19 </tr>
20 <tr>
21 <td>aaa</td>
22 <td>bbb</td>
23 <td>ccc</td>
24 <td>ddd</td>
25 <td>eee</td>
26 </tr>
27 <tr>
28 <td>AAA</td>
29 <td>BBB</td>
30 <td>CCC</td>
31 <td>DDD</td>
32 <td>EEE</td>
33 </tr>
34 <tr>
35 <td>FFF</td>
36 <td>GGG</td>
37 <td>HHH</td>
38 <td>III</td>
39 <td>JJJ</td>
40 </tr>
41</table>
42<input type="button" onclick="javascript:method1('tableExcel');" value="第一种方法导入到EXCEL">
43<input type="button" onclick="javascript:method2('tableExcel');" value="第二种方法导入到EXCEL">
44<input type="button" onclick="javascript:getXlsFromTbl('tableExcel',null);" value="第三种方法导入到EXCEL">
45<SCRIPT LANGUAGE="javascript">
46function method1(tableid) {//整个表格拷贝到EXCEL中
47 var curTbl = document.getElementById(tableid);
48 var oXL = new ActiveXObject("Excel.Application");
49 //创建AX对象excel
50 var oWB = oXL.Workbooks.Add();
51 //获取workbook对象
52 var oSheet = oWB.ActiveSheet;
53 //激活当前sheet
54 var sel = document.body.createTextRange();
55 sel.moveToElementText(curTbl);
56 //把表格中的内容移到TextRange中
57 sel.select();
58 //全选TextRange中内容
59 sel.execCommand("Copy");
60 //复制TextRange中内容
61 oSheet.Paste();
62 //粘贴到活动的EXCEL中
63 oXL.Visible = true;
64 //设置excel可见属性
65}
66function method2(tableid) //读取表格中每个单元到EXCEL中
67{
68 var curTbl = document.getElementById(tableid);
69 var oXL = new ActiveXObject("Excel.Application");
70 //创建AX对象excel
71 var oWB = oXL.Workbooks.Add();
72 //获取workbook对象
73 var oSheet = oWB.ActiveSheet;
74 //激活当前sheet
75 var Lenr = curTbl.rows.length;
76 //取得表格行数
77 for (i = 0; i < Lenr; i++)
78 {
79 var Lenc = curTbl.rows(i).cells.length;
80 //取得每行的列数
81 for (j = 0; j < Lenc; j++)
82 {
83 oSheet.Cells(i + 1, j + 1).value = curTbl.rows(i).cells(j).innerText;
84 //赋值
85 }
86 }
87 oXL.Visible = true;
88 //设置excel可见属性
89}
90function getXlsFromTbl(inTblId, inWindow) {
91 try {
92 var allStr = "";
93 var curStr = "";
94 //alert("getXlsFromTbl");
95 if (inTblId != null && inTblId != "" && inTblId != "null") {
96 curStr = getTblData(inTblId, inWindow);
97 }
98 if (curStr != null) {
99 allStr += curStr;
100 }
101 else {
102 alert("你要导出的表不存在!");
103 return;
104 }
105 var fileName = getExcelFileName();
106 doFileExport(fileName, allStr);
107 }
108 catch(e) {
109 alert("导出发生异常:" + e.name + "->" + e.description + "!");
110 }
111}
112function getTblData(inTbl, inWindow) {
113 var rows = 0;
114 //alert("getTblData is " + inWindow);
115 var tblDocument = document;
116 if (!!inWindow && inWindow != "") {
117 if (!document.all(inWindow)) {
118 return null;
119 }
120 else {
121 tblDocument = eval(inWindow).document;
122 }
123 }
124 var curTbl = tblDocument.getElementById(inTbl);
125 var outStr = "";
126 if (curTbl != null) {
127 for (var j = 0; j < curTbl.rows.length; j++) {
128 //alert("j is " + j);
129 for (var i = 0; i < curTbl.rows[j].cells.length; i++) {
130 //alert("i is " + i);
131 if (i == 0 && rows > 0) {
132 outStr += " \t";
133 rows -= 1;
134 }
135 outStr += curTbl.rows[j].cells[i].innerText + "\t";
136 if (curTbl.rows[j].cells[i].colSpan > 1) {
137 for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) {
138 outStr += " \t";
139 }
140 }
141 if (i == 0) {
142 if (rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1) {
143 rows = curTbl.rows[j].cells[i].rowSpan - 1;
144 }
145 }
146 }
147 outStr += "\r\n";
148 }
149 }
150 else {
151 outStr = null;
152 alert(inTbl + "不存在!");
153 }
154 return outStr;
155}
156function getExcelFileName() {
157 var d = new Date();
158 var curYear = d.getYear();
159 var curMonth = "" + (d.getMonth() + 1);
160 var curDate = "" + d.getDate();
161 var curHour = "" + d.getHours();
162 var curMinute = "" + d.getMinutes();
163 var curSecond = "" + d.getSeconds();
164 if (curMonth.length == 1) {
165 curMonth = "0" + curMonth;
166 }
167 if (curDate.length == 1) {
168 curDate = "0" + curDate;
169 }
170 if (curHour.length == 1) {
171 curHour = "0" + curHour;
172 }
173 if (curMinute.length == 1) {
174 curMinute = "0" + curMinute;
175 }
176 if (curSecond.length == 1) {
177 curSecond = "0" + curSecond;
178 }
179 var fileName = "leo_zhang" + "_" + curYear + curMonth + curDate + "_"
180 + curHour + curMinute + curSecond + ".csv";
181 //alert(fileName);
182 return fileName;
183}
184function doFileExport(inName, inStr) {
185 var xlsWin = null;
186 if (!!document.all("glbHideFrm")) {
187 xlsWin = glbHideFrm;
188 }
189 else {
190 var width = 6;
191 var height = 4;
192 var openPara = "left=" + (window.screen.width / 2 - width / 2)
193 + ",top=" + (window.screen.height / 2 - height / 2)
194 + ",scrollbars=no,width=" + width + ",height=" + height;
195 xlsWin = window.open("", "_blank", openPara);
196 }
197 xlsWin.document.write(inStr);
198 xlsWin.document.close();
199 xlsWin.document.execCommand('Saveas', true, inName);
200 xlsWin.close();
201}
202</SCRIPT>
203</body>
204</html>
分享到:
相关推荐
总结,JavaScript操作HTML表格导出Excel主要涉及以下几个步骤: 1. 引入`FileSaver.js`库。 2. 创建HTML表格并填充数据。 3. 使用JavaScript获取表格数据并转换为CSV格式。 4. 创建Blob对象,并使用`saveAs`方法保存...
本文将详细介绍几种使用JavaScript实现导出数据到Excel的方法,包括利用ActiveX对象的方式以及纯JavaScript的方式。 #### 方法一:使用ActiveX对象(仅适用于IE浏览器) 此方法基于Internet Explorer提供的ActiveX...
【lodop导出ExcelDemo】是一个基于LODOP技术实现的JavaScript示例,它展示了如何通过LODOP组件将网页中的数据导出为Excel文件。这个功能在许多Web应用程序中非常实用,允许用户方便地保存和处理数据。下面将详细阐述...
在EXTJS这个强大的JavaScript框架中,实现导出Excel功能是一项常见的需求。EXTJS提供了一种高效的方法来将数据导出到Excel格式,使得用户能够方便地处理和分析数据。在这个场景下,我们可以从以下几个关键知识点入手...
总结来说,"Ext Grid 导出Excel"这个话题涵盖了从JavaScript数据结构到Excel文件格式转换的过程,涉及到的主要技术有Ext JS的Grid和Store组件,以及第三方库SheetJS。这个过程对于那些需要提供数据导出功能的Web应用...
有个项目需要用到jquery 的easyui和导出excel,发现官方下载的datagrid-export.js有几处bug,例如导出的excel格式,长数字会默认按科学计数法显示或没了零开头的数字,不符合所见即所得要求。 首先说明前提条件,...
总结,EasyUI的datagrid导出Excel工具类为开发者提供了一种便捷的方式,通过前后端配合,将网页中的数据快速转换成Excel文件,满足了用户对数据管理的需求。在实际应用中,需要注意数据安全和性能优化,确保功能的...
标题 "excel-gen.js 导出excel 功能" 描述了一个JavaScript库,用于生成Excel文件,而涉及的文件列表揭示了这个过程可能依赖于几个关键组件。让我们深入了解一下这些技术及其在生成Excel文件中的作用。 首先,`...
导出Excel并添加水印的过程可以分为以下几个步骤: 1. 创建`WritableWorkbook`对象:`WritableWorkbook`是`jxl`库中的核心类,用于表示一个可写的Excel工作簿。我们可以使用`Workbook.createWorkbook()`方法创建一...
总的来说,“Ext Grid导出Excel”涉及了前端JavaScript编程、数据处理、文件格式理解以及可能的服务器端协作。理解并掌握这些技术,可以帮助开发者提供更强大的数据工具,满足用户对数据管理的需求。
导出Excel的过程通常分为以下几个步骤: 1. **获取表格数据**:使用JavaScript的DOM API,如`document.getElementById`或`querySelector`来获取表格元素。然后遍历表格的所有行和列,收集数据。 2. **转换数据**:...
在实际应用中,JavaScript导出Word和Excel通常依赖于一些库,如jsPDF用于生成PDF,然后通过转换工具将PDF转为Word,或者使用xlsx库直接处理Excel文件。另外,Puppeteer是一个流行的浏览器自动化工具,可以通过控制...
因此,为了实现全浏览器兼容,我们需要考虑以下几种策略: 1. 使用`window.navigator.msSaveBlob`:这是Microsoft Edge和Internet Explorer支持的一个特有方法,可以直接保存Blob对象。 2. 创建一个隐藏的`iframe`...
在前端开发中,导出数据到Excel是一种常见的需求,特别是在数据可视化、数据分析或者报表生成的场景下。"xlsx.full.min.js" 是一个专门用于实现这个功能的JavaScript库,它允许开发者在网页上轻松地将数据转换为...
1. **二进制流**:二进制流是计算机处理数据的一种方式,它以二进制形式表示和传输数据。在导出Excel时,数据被转换为二进制格式,以便于浏览器直接下载和解析,而不是以文本或HTML的形式。 2. **Excel导出**:这个...
Struts1.2 + ExtJS + 导出Excel项目是一个基于Web的应用开发框架组合,用于构建企业级的Java应用程序。这个项目的重点在于整合Struts1.2(一个经典的MVC框架)与ExtJS(一个富客户端JavaScript库)来提供用户友好的...
本文将详细介绍如何使用JavaScript(简称JS)来实现网页端的数据导出至Excel的功能。 #### 基本原理 要实现Excel导出功能,我们需要理解几个关键概念: 1. **MIME类型**:在HTTP协议中,每种文件类型都有对应的...
3. **Excel文件生成**:有几种方式可以生成Excel文件,例如使用PHP的`PHPExcel`库,这是一个广泛使用的第三方库,可以创建、读取和修改Excel文件。使用此库,你可以创建一个新的工作簿,添加工作表,然后将处理好的...
导出Grid到Excel涉及到以下几个关键步骤: 1. **数据准备**:确保Grid中的数据已经加载并可供导出。这通常涉及到从服务器获取数据,或者使用本地数据源。数据应该是一个二维数组,每一行代表一个记录,每一列对应一...
本项目"简单实用网页表格数据导出Excel电子表格文件jQuery插件"正是为了解决这一问题。 首先,我们来探讨jQuery的核心概念。jQuery简化了JavaScript的DOM操作,提供了统一的API来选择元素、添加事件处理程序、执行...