<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<meta http-equiv="pragma" content="no-cache">
<script language="jscript">
function replaceHtml(replacedStr,repStr,endStr){
var replacedStrF = "";
var replacedStrB = "";
var repStrIndex = replacedStr.indexOf(repStr);
while(repStrIndex != -1){
replacedStrF = replacedStr.substring(0,repStrIndex);
replacedStrB = replacedStr.substring(repStrIndex,replacedStr.length);
replacedStrB = replacedStrB.substring(replacedStrB.indexOf(endStr)+1,replacedStrB.length);
replacedStr = replacedStrF + replacedStrB;
repStrIndex = replacedStr.indexOf(repStr);
}
return replacedStr;
}
//elTalbeOut 这个为导出内容的外层表格,主要是设置border之类的样式,elDiv则是整个导出的html部分
function htmlToExcel(elTableOut,elDiv){
try{
//设置导出前的数据,为导出后返回格式而设置
var elDivStrBak = elDiv.innerHTML;
//设置table的border=1,这样到excel中就有表格线 ps:感谢双面提醒
elTableOut.border=1;
//过滤elDiv内容
var elDivStr = elDiv.innerHTML;
elDivStr = replaceHtml(elDivStr,"<A",">");
elDivStr = replaceHtml(elDivStr,"</A",">");
elDiv.innerHTML=elDivStr;
var oRangeRef = document.body.createTextRange();
oRangeRef.moveToElementText( elDiv );
oRangeRef.execCommand("Copy");
//返回格式变换以前的内容
elDiv.innerHTML = elDivStrBak;
//内容数据可能很大,所以赋空
elDivStrBak = "";
elDivStr = "";
var oXL = new ActiveXObject("Excel.Application")
var oWB = oXL.Workbooks.Add ;
var oSheet = oWB.ActiveSheet ;
oSheet.Paste();
oSheet.Cells.NumberFormatLocal = "@";
oSheet.Columns("D:D").Select
oXL.Selection.ColumnWidth = 20
oXL.Visible = true;
oSheet = null;
oWB = null;
appExcel = null;
}catch(e){
alert(e.description)
}
}
</script>
<title></title></head>
<body leftmargin="0" topmargin="0">
<table width="90%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td height="40" align="center" valign="middle"><INPUT type="button" value="导出" id="dcExcel" onClick="htmlToExcel(document.getElementById('elTableOut'),document.getElementById('elDiv'));"></td>
</tr>
</table>
<div id="elDiv">
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#000000" bgcolor="#000000" id="elTableOut">
<tr>
<td height="40" align="center" valign="middle" colspan="12" bgcolor="#FFFFFF"><strong>状况汇总表</strong></td>
</tr>
<tr>
<td width="6%" rowspan="2" align="center" bgcolor="#FFFFFF">序号</td>
<td width="20%" rowspan="2" align="center" bgcolor="#FFFFFF">a</td>
<td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">b</td>
<td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">c</td>
<td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">d</td>
<td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">e</td>
<td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">f</td>
<td width="7%" rowspan="2" align="center" bgcolor="#FFFFFF">g</td>
<td height="25" colspan="4" align="center" bgcolor="#FFFFFF">h</td>
</tr>
<tr>
<td width="7%" height="25" align="center" bgcolor="#FFFFFF">i</td>
<td width="7%" align="center" bgcolor="#FFFFFF">j</td>
<td width="7%" align="center" bgcolor="#FFFFFF">k</td>
<td width="7%" align="center" bgcolor="#FFFFFF">l</td>
</tr>
</table>
</div>
</body>
</html>
分享到:
相关推荐
总结起来,纯前端生成HTML表格到Excel文件主要涉及以下步骤: 1. 获取HTML表格数据。 2. 将数据转换为CSV格式。 3. 创建并触发模拟的文件下载链接。 虽然这个方法简单易用,但并不适用于所有场景。在处理大量数据或...
在Web开发中,如果你需要在JavaScript环境下生成Excel文件,可以使用SheetJS库。首先,引入`xlsx-style`库,它提供了一些样式支持: ```html <script src="https://unpkg.com/xlsx-style"></script> ``` 然后,...
2. **控件示例**:如果你在Web开发环境中生成Excel,可能会涉及到前端的交互控件,如使用JavaScript库如Handsontable或Ag-Grid创建表格,然后将其转换为Excel格式。这些控件允许用户在浏览器中编辑数据,然后下载为...
这个示例项目"Node.js-Javascript解析导入导出Excel文件小示例"提供了在Web和Node.js环境中操作Excel文件的基础代码。 首先,我们需要安装`js-xlsx`库。在命令行中,运行以下命令: ```bash npm install xlsx ``` ...
在.NET开发环境中,使用GridView...综上所述,使用GridView生成Excel文件是.NET Web开发中一个实用的功能,通过合理的设计和公用类的使用,可以提高代码的可维护性和复用性。同时,需要注意性能优化和用户体验的提升。
该模块提供了解析Excel文件数据和生成Excel文件的功能。由于node-xlsx仅支持.xlsx格式,对于.xls格式文件的支持则需要其他模块。 另一个模块excel-parser则提供了对.xls和.xlsx格式文件的支持。它允许开发者从Excel...
5. **服务器端API交互**:如果选择服务器端方法,你需要构建一个HTTP接口,接收POST请求,解析请求体中的数据,使用服务器端语言生成Excel文件,最后返回文件或提供下载链接。 为了实现这一功能,开发者需要对...
通过JavaScript(JS)来读取并解析这些Excel文件可以实现对数据的快速处理与展示。本文将详细介绍如何利用JavaScript读取本地Excel文档数据。 #### 二、技术原理与实现方法 ##### 2.1 使用ActiveXObject读取Excel...
总的来说,这个示例提供了一种使用JavaScript直接在客户端生成Excel报表的方法,这在某些场景下可以提高用户体验,但同时也需要注意其兼容性和安全性问题。在实际开发中,考虑到跨平台和安全性的需求,通常会采用...
在JavaScript(JS)开发中,有时我们需要在前端处理Excel文件,例如从用户上传的文件中提取数据或展示数据。这个场景通常涉及到一个叫做"js-xlsx"的库,它允许我们在浏览器环境中解析和操作Excel文件。这个库是开源...
在JavaScript开发中,有时我们需要在前端生成Excel文件以便于数据导出或分享。`xlsx.full.js` 是一个强大的库,它允许开发者用纯JavaScript来创建、读取和修改Excel文件,特别适合在Web应用程序中使用。这个库的核心...
接下来,我们转向JavaScript生成Excel文件。在浏览器环境中,我们可以使用`SheetJS`(也称为`xlsx`)库。`SheetJS`支持读写多种电子表格格式,包括XLSX和CSV。它提供了一套完整的API来操作单元格、行和列,以及设置...
考虑分批处理数据,或者利用服务端生成Excel文件,然后发送给客户端下载。 7. **其他库** 还有一些其他的库,如`handsontable`、`ag-grid`等,它们不仅支持数据导出,还提供了交互式表格组件,可以提升用户体验。 ...
- **FileSaver.js**:这是一个用于在浏览器中保存文件的小型库,与SheetJS结合使用,可以在前端生成并下载Excel文件。 3. **数据转换**: 首先,你需要将你的数据结构(可能是数组、对象等)转换成SheetJS可识别...
1. 使用JavaScript库(如`XLSX`)在浏览器环境中生成Excel文件。 2. 动态数据处理,根据用户输入或其他条件实时添加或修改数据。 3. 结合其他库(如`jQuery`)简化前端操作。 4. 提供示例(`demo.html`)和文档(`...
通常,这样的示例会包括如何加载库,如何读取Excel文件(可能通过File API或者URL),如何处理数据,以及如何将数据写回新的Excel文件。 在实际应用中,"xlsx.full.min.js" 使用了逗号分隔值(CSV)、JSON等格式来与...
总结起来,纯JavaScript实现的读取Excel文件内容功能主要依赖于`XLSX`库,它通过`FileReader API`读取用户上传的文件,并将Excel数据转换为JavaScript可操作的格式。这个功能对于前端开发人员来说非常实用,特别是...
**Node.js-excel4node** 是一个强大的Node.js模块,专为开发者设计,方便他们在JavaScript环境中轻松地创建和处理Excel文件。这个库以其全面的功能和灵活性而受到广泛的欢迎,尤其适用于那些需要生成复杂Excel报告的...
在本项目中,"SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip",我们主要关注的是如何利用Java技术栈来处理Excel文件,并与数据库进行交互。以下是相关知识点的...
2. **使用Web服务或后端API**:更通用的方法是通过上传文件到服务器,然后在服务器端使用如PHP、Python、Node.js等语言处理Excel文件,最后将处理后的数据返回给前端JavaScript。这种方法跨浏览器,但需要后端支持。...