`
terryfeng
  • 浏览: 506867 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Javascript + xsl 实现把网页中 翻页的 Table 标签内容导入到excel

阅读更多

JS

 

function getXlsFromTbl(inTblId) {

    try {

        inTblId = "demo";

        var xml = new ActiveXObject("Microsoft.XMLDOM")
        xml.async = false
        xml.load(inTblId + ".xml")

        // Load XSL
        var xsl = new ActiveXObject("Microsoft.XMLDOM")
        xsl.async = false
        xsl.load( inTblId +  ".xsl")
        var d = " " + xml.transformNode(xsl);
        
        //去掉 xml 头
        var arr = d.split("?>");
        //获得文件名
        var fileName = getExcelFileName(inTblId);
        //导出
        doFileExport(fileName, arr[1]);



    }

    catch (e) {

        alert("导出发生异常:" + e.name + "->" + e.description + "!");

    }

}

//获得一个文件名
function getExcelFileName(inTblId) {

    var d = new Date();



    var curYear = d.getYear();

    var curMonth = "" + (d.getMonth() + 1);

    var curDate = "" + d.getDate();

    var curHour = "" + d.getHours();

    var curMinute = "" + d.getMinutes();

    var curSecond = "" + d.getSeconds();



    if (curMonth.length == 1) {

        curMonth = "0" + curMonth;

    }

    if (curDate.length == 1) {

        curDate = "0" + curDate;

    }

    if (curHour.length == 1) {

        curHour = "0" + curHour;

    }

    if (curMinute.length == 1) {

        curMinute = "0" + curMinute;

    }

    if (curSecond.length == 1) {

        curSecond = "0" + curSecond;

    }



    var fileName = inTblId + "_" + curYear + curMonth + curDate + "_"

            + curHour + curMinute + curSecond + ".csv";

    //alert(fileName);

    return fileName;

}

//导出Excel
function doFileExport(inName, inStr) {

    var xlsWin = null;



    if (!!document.all("glbHideFrm")) {

        xlsWin = glbHideFrm;

    }

    else {

        var width = 6;

        var height = 4;

        var openPara = "left=" + (window.screen.width / 2 - width / 2)

                + ",top=" + (window.screen.height / 2 - height / 2)

                + ",scrollbars=no,width=" + width + ",height=" + height;

        xlsWin = window.open("", "_blank", openPara);

    }



    xlsWin.document.write(inStr);

    xlsWin.document.close();

    xlsWin.document.execCommand('Saveas', true, inName);

    xlsWin.close();

}

 

html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title></title>

    <script src="ToExcel.js" type="text/javascript"></script>
</head>
<body>
    <input id="Button1" type="button" onclick="javascript:getXlsFromTbl('demo');" value="button" />
</body>
</html>

 

Xsl

 

<?xml version="1.0" encoding="utf-16"?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
     Title&#9;Artist&#9;country&#9;company&#9;price&#9;year&#9;
    <xsl:for-each select="catalog/cd">
      <xsl:value-of select="title"/>&#9;<xsl:value-of select="artist"/>&#9;<xsl:value-of select="country"/>&#9;<xsl:value-of select="company"/>&#9;<xsl:value-of select="price"/>&#9;<xsl:value-of select="year"/>&#9;
    </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

 

XML

<?xml version="1.0" encoding="utf-8"?>
<catalog>
  <cd>
    <title>Empire Burlesque</title>
    <artist>Bob Dylan</artist>
    <country>USA</country>
    <company>Columbia</company>
    <price>10.90</price>
    <year>1985</year>
  </cd>
  <cd>
  <title>Hide your heart</title> 
  <artist>Bonnie Tyler</artist> 
  <country>UK</country> 
  <company>CBS Records</company> 
  <price>9.90</price> 
  <year>1988</year> 
  </cd>  
</catalog>
分享到:
评论

相关推荐

    xml+xsl+css生成制作html网页

    xml+xsl+css html网页 xml+xsl+css html网页 xml+xsl+css html网页 xml+xsl+css html网页 xml+xsl+css html网页 xml+xsl+css html网页

    xml+xsl+css+dtd书写的个人网页

    这个个人网页项目利用了XML的结构化特性,通过XSL进行数据转换,结合CSS实现美观的页面展示,而DTD则确保了数据的准确性和一致性。这样的组合提供了强大的数据管理能力,同时实现了灵活的页面设计。通过学习和实践这...

    使用JavaScript+XML+XSL创建树形目录

    这段代码首先加载XML和XSL文件,然后进行转换并插入到页面中。同时,它还添加了点击事件监听器,以实现树形目录的展开和折叠功能。 **总结** 通过上述步骤,我们可以利用JavaScript、XML和XSL技术创建一个交互式的...

    xml +js+xsl 实现无限极菜单

    在网页开发中,XML通常与XSL(eXtensible Stylesheet Language)和JavaScript结合使用,来实现动态内容展示,比如构建无限极菜单。 XSL是一种样式表语言,用于转换XML文档的结构和格式。它包括XSLT(XSL ...

    xml+css+xsl个人简历

    XSLT允许我们定义规则,根据这些规则,XML文档中的元素可以被映射到新的结构中,从而实现数据的重新排列或格式化。 在“个人简历xml+xsl”这个项目中,可能包含以下步骤: 1. 创建XML文件:定义简历的结构,如`...

    XML+DTD+xsl+javascript

    6. **动态网页实现**:结合XML和JavaScript,创建能够动态显示和操作XML数据的交互式网页。 通过这个实训,初学者可以深入理解XML的数据表示,DTD的结构约束,XSLT的数据转换能力,以及JavaScript在实际项目中的...

    xml_popup.rar_javascript xml_xml xsl_xsl_xsl javascript

    而且还能限制显示特定位置的节点,例如有18条记录,可以在xsl中设置只显示第1-6条,也可以设置只显示第7-12条,再配合客户端脚本,就可以动态改变xsl文档中控制显示指定位置节点的属性,从而实现分页(具体见代码)...

    XML+xsl讲XML文档的内容用xsl建表

    "XML+xsl讲XML文档的内容用xsl建表"的主题意味着我们将学习如何使用XSLT将XML文档的内容转换成表格形式。这通常涉及到以下步骤: 1. **理解XML结构**:首先,需要熟悉XML文档的结构和元素关系,以便确定如何在表格...

    实现将excel中的数据批量导入到access

    ### 实现将Excel中的数据批量导入到Access 在IT领域,数据迁移是一项常见的任务,特别是在不同格式或平台间的数据转换过程中。本篇文章将基于提供的代码示例,详细讲解如何实现将Excel中的数据批量导入到Access...

    用XSL把XML转化在EXCEL导出

    标题中的“用XSL把XML转化在EXCEL导出”是指使用XSL(Extensible Stylesheet Language)转换技术,将XML(Extensible Markup Language)数据转换成Excel电子表格格式的过程。这种转换通常是为了便于数据分析、报表...

    xml+xsl中分割字符

    在XML与XSL技术的结合应用中,对字符串进行分割处理是一项常见的需求,尤其是在需要将一个包含多个值的属性或元素拆分为多个单独元素时。本文将深入探讨如何利用XSLT中的`substring-before()`和`substring-after()`...

    用XML+XSL生成WEB树的XSL样式表

    通过XSL解析XML在浏览器中显示树的XSL样式表。 处理简便,功能强大,支持拖放,支持键盘操作,每个结点可显示不同的图标,刷新时可以自动记录结点状态,可灵活处理点击动作。 &lt;br&gt;注:本样式表为同步加载模式...

    XML+XSL/FO生成PDF文件Demo

    FOP(Formatter Object Processor)是Apache软件基金会的一个开源项目,它实现了XSL-FO标准,可以将XML和XSL-FO文件转换为PDF格式。Fop插件是一个便捷的工具,开发者可以利用它快速地将XML数据转换成高质量的PDF文档...

    xsl javascript 传递参数

    总结起来,XSL、XPath和JavaScript的结合使得我们可以动态地处理XML数据,通过JavaScript传递参数到XSL转换中,根据需要筛选和呈现XML文档中的特定内容。这种技术在Web应用程序中广泛使用,特别是在需要动态生成和...

    javascript xml xsl xslt

    JavaScript、XML、XSL与XSLT是Web开发中四个重要的技术组件,它们在数据处理、页面动态化和跨平台信息交换中起着至关重要的作用。以下是对这些技术的详细解释: JavaScript,全称为ECMAScript,是一种广泛应用于...

    xml+xsl

    标题中的“xml+xsl”指的是XML(可扩展标记语言)与XSL(可扩展样式表语言)的结合使用。XML是一种用于标记数据的语言,而XSL则是一种用于转换和呈现XML文档的语言。这两种技术在处理结构化数据和网页布局方面扮演着...

    XML HTML CSS XSL Web编程实作教程.rar

    它由一系列标签组成,这些标签描述了网页的结构和内容,如标题、段落、图像等。HTML5是当前的标准版本,增加了对多媒体和离线存储的支持,增强了网页的交互性和可用性。 CSS(层叠样式表)是用于描述HTML或XML...

    CSDN左Tree树菜单HTC+JS+XML+XSL源代码

    CSDN左Tree树菜单HTC+JS+XML+XSL源代码

    使用xsl导出excel源码示例

    4. **XSLT到Excel的转换**:在实际操作中,我们可以使用XSLT处理器,如Saxon或MSXML,将XML文档和XSL样式表结合,生成Excel文件。这个过程通常涉及调用处理器的API或者使用命令行工具。 5. **代码示例**:一个简单...

    xsl的实例.rar_Table_XsL table_xsl

    XML(Extensible Markup Language)和XSL(Extensible Stylesheet Language)是Web开发中的两种关键技术,它们在数据处理和页面展示方面发挥着重要作用。本文将深入探讨如何利用XML调用XSL来设计表格界面,这对于...

Global site tag (gtag.js) - Google Analytics