IE下用JavaScript动态生成excel
<script>
// 这个代码可以大大减少IE下的当前页面的Excel导出工作量
// 如果不能正确执行, 请把当前站点加入可信站点并调低安全级 参考图片: IE添加可信站点.png
// 导出为Excel, 参数为 HTML 或者 表格代码, 如: "A\tB", xxx.innerHTML
function printToExcel(html) {
try{
var ExApp = new ActiveXObject("Excel.Application")
var ExWBk = ExApp.workbooks.add()
var ExWSh = ExWBk.worksheets(1)
ExApp.DisplayAlerts = false
ExApp.visible = true
}catch(e){
alert("您所设定的安全级别太高,或者您的电脑没有安装Microsoft Excel软件!")
return false
}
window.clipboardData.setData("Text", html);
ExWBk.worksheets(1).Paste;
ExWBk.worksheets(1).Columns.AutoFit;
ExWBk.worksheets(1).Rows.AutoFit;
}
// 将 HTML 表格导出为 Excel
function exportToExcel(table)
{
if(confirm("确认要导出吗?")){
// Start Excel and get Application object.
var oXL = new Object("Excel.Application");
// Get a new workbook.
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var hang = table.rows.length;
var lie = table.rows(0).cells.length;
// Add table headers going cell by cell.
for (i=0;i<hang;i++)
{
for (j=0;j<lie;j++)
{
oSheet.Cells(i+1,j+1).Value = table.rows(i).cells(j).innerText;
}
}
oXL.Visible = true;
oXL.UserControl = true;
}
}
//printToExcel("A\tB");
</script>
<!-- 以下为数据区 -->
<div id="dataArea">
<font color=red>2009年猪流感统计表</font>
<table border="1" cellpadding="0" style="border-collapse: collapse; " bordercolor="#000000">
<tbody><tr>
<td> <b>编号</b></td>
<td> <b>用户名</b></td></tr>
<tr>
<td> 1</td>
<td> 金正日</td></tr>
<tr>
<td> 2</td>
<td> 萨达姆</td></tr>
</tbody>
</table>
</div>
<script>
if(confirm("是否导出表格数据为 Excel?")) {
printToExcel(dataArea.innerHTML);
}
</script>
来源:http://www.blogjava.net/beansoft/archive/2009/04/29/268204.html
我觉得这段代码好就好在那个对调用excel的ActiveX控件的时候,那个try-catch非常的帅!!!
分享到:
相关推荐
在JavaScript中获取Excel数据并将其显示到网页上,特别是在IE浏览器环境下,涉及到多个技术要点。以下将详细解析这个过程,并提供一些关键知识点。 首先,我们需要理解JavaScript与Excel数据交互的基本原理。由于...
总的来说,这个示例提供了一种使用JavaScript直接在客户端生成Excel报表的方法,这在某些场景下可以提高用户体验,但同时也需要注意其兼容性和安全性问题。在实际开发中,考虑到跨平台和安全性的需求,通常会采用...
这个场景中提到的"js导出Excel和Word,不支持ie",指的是使用JavaScript在HTML页面前端实现Excel和Word文件的生成,但需要注意的是,这种方法可能不适用于已经过时的Internet Explorer浏览器。 1. **JavaScript导出...
"JS导入导出Excel 兼容IE、Firefox、Chrome等浏览器"这一技术主题,聚焦于如何使用JavaScript(JS)在各种浏览器环境下处理Excel文件,包括古老的Internet Explorer(IE)、Firefox以及Chrome。下面我们将深入探讨这...
在本场景中,前端通过Ajax发送JSON数据到后台,这些数据可能包含了生成Excel所需的表格结构和内容。 接着,我们需要引入Apache POI库,这是一个强大的API,用于处理Microsoft Office格式的文件,包括Excel。使用POI...
对于更复杂的情况,可以使用服务器端的库,如Apache POI(Java)或js-xlsx(JavaScript)来生成Excel文件。 总之,本文介绍了一种利用JavaScript和ActiveX对象在Internet Explorer中将HTML表格数据导出到Excel和...
2. **Excel导出**:这个过程涉及到生成Excel文件,可能使用诸如JavaScript库如SheetJS、Papa Parse或者服务器端语言如PHP、Java的库。这些工具能够将数据结构化为Excel兼容的格式,并生成二进制流。 3. **兼容性**...
在JavaScript中将数据导入Excel是一项常见的需求,尤其在Web应用中,用户可能希望方便地下载数据到Excel格式以便进一步分析或处理。以下是一些关于如何使用JavaScript实现这一功能的关键知识点: 1. **文件类型理解...
虽然题目和描述中没有具体提及Excel文档的操作,但我们可以基于Word文档操作的基础之上,介绍如何使用JavaScript操作Excel文档。 ##### 1. 创建Excel对象 创建Excel对象的方式与创建Word对象类似,都是通过`...
在IE浏览器中,由于其安全机制,我们不能直接生成Excel文件,而是需要将内容复制到剪贴板,然后由用户手动粘贴到Excel并保存。这种方式依赖于ActiveXObject,它是IE特有的API,可以创建与Office应用程序交互的对象。...
5. **File API与Blob对象**: 文件选择后,我们首先会得到一个`File`对象,可以将其转化为`Blob`对象,然后用URL.createObjectURL()生成一个临时URL,这样就能在页面上使用了。 6. **文件读取步骤**: - 用户通过`...
在这个场景下,"JS导入Excel(IE)"指的是使用JavaScript在Internet Explorer(IE)浏览器中实现Excel文件的导入,并将数据转换成HTML表格。由于IE浏览器不支持现代Web API,如FileReader,所以处理起来相对复杂。 ...
首先,我们需要明白,虽然jQuery本身并不直接支持生成Excel文件,但我们可以借助一些插件或JavaScript库来实现这个目标。一个常用的库是`tableExport.js`,它可以方便地将HTML表格转换为多种格式,包括Excel(.xlsx...
例如,我们可以创建一个隐藏的`<iframe>`,然后在其中使用ActiveXObject来生成Excel文件,并触发下载。 3. **非IE浏览器解决方案**: 对于非IE浏览器,如Firefox、Chrome、Safari、360等,它们不支持ActiveXObject...
有时开发者只是想利用浏览器编制一些简单的脚本完成一些任务,不想学习C、C++、Python生成exe这么大动作,例如使用JavaScript脚本读取本地一个excel文件进行统计分析。但由于浏览器无法使用本地文件这个限制,只好...
总的来说,jQuery HTML表格生成Excel文件插件为开发人员提供了一个便捷的工具,用于处理网页数据的导出,使得用户可以在不离开网页的情况下轻松地管理和共享表格数据。尽管它有一些限制,但在许多情况下,这仍然是一...
在IT行业中,生成报表并导出到Excel是一项常见的需求,特别是在数据分析、业务处理以及数据可视化等领域。`Ext`是一个流行的JavaScript框架,它提供了一种强大的方式来构建富客户端应用程序,而将Ext应用中的数据...
JavaScript生成Excel文件通常不依赖浏览器原生功能,而是通过模拟Excel文件格式(如`.xls`或`.xlsx`)来实现。这些文件格式基于开放XML标准,可以通过创建XML结构并将其打包为ZIP文件来构建。常见的方法是创建一个...
总结来说,将JSON数据导出为Excel文件并确保在IE10及以上版本以及Office兼容,主要依赖于合适的JavaScript库和遵循标准的文件格式。通过理解这些概念和步骤,开发者可以构建出高效且跨平台的数据导出解决方案。