65.9K
CodeProject 正在变化。 阅读更多。
Home

在客户端将 ASP.NET Data Grid 链接到 Microsoft Excel

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.29/5 (13投票s)

2004年12月12日

1分钟阅读

viewsIcon

92961

downloadIcon

1857

如何使用 JavaScript 将 HTML 表格导出到 Excel 工作表?

Sample Image - 6.jpg

引言

我正在研究 Internet Explorer 的上下文菜单,突然注意到有一个菜单项叫做“导出到 Microsoft Excel”。

:)

当我点击这个命令时,它会将所选表格的内容传输到 Microsoft Excel。

我是如何获取这段代码的?

为了弄清楚当我点击上下文菜单项时发生了什么,我使用了 IE 的功能“在下一语句处中断”(从菜单项选择“视图”->“脚本调试器”->“在下一语句处中断”),并创建了一个小表格,当我点击菜单时,我得到了 VBScript 文件 在 Visual Studio .NET 中。

我是如何将 DataGrid 与脚本链接的?

我使用了被称为 HTC “HTML 组件” 的东西,如果你正在开发 ASP.NET 服务器控件,这是一个值得学习的好东西。我的 HTC 脚本分为两部分

  • 第一部分是如何在 datagrid 附近显示一个小图标,这是通过
    1. 创建 HTML 图像对象来实现的。
      ImgaElement=this.document.createElement("img")
    2. 将图像放置在 datagrid 表格附近。
      ImgaElement.style.top=this.element.offsetTop-3 
      ImgaElement.style.left=this.element.offsetLeft+offsetWidth-3
  • 第二部分是如何将其连接到 Microsoft Excel。在这个任务中,我没有做任何新的事情,只是将 VBS 文件转换为 JavaScript 文件,并添加了额外的行来检查安全设置。
    try 
    {
           xlApp= new ActiveXObject("Excel.Application"); 
    } 
    catch(e) 
    {
        alert("Please check the Internet security setting");
            return -1;
    }

如何使用它?

  • 在使用该组件之前的重要提示是,要启用 “初始化并脚本化未标记为安全的 ActiveX 控件”

    :)

    在 Internet 安全设置的安全选项卡中。

  • 将图像和 HTC 文件夹复制到你的 Web 项目中。
  • 将 DLL 文件 (DataGridProject.dll) 添加到你的引用和工具箱控件中。
© . All rights reserved.