新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → [求助]◆◆xsl实现分页显示XML后如何导出全部数据??------各位版主,大侠救命!!!◆◆ 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4697 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]◆◆xsl实现分页显示XML后如何导出全部数据??------各位版主,大侠救命!!!◆◆ 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     zt99 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究C++)
      文章:28
      积分:222
      门派:XML.ORG.CN
      注册:2006/11/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zt99发送一个短消息 把zt99加入好友 查看zt99的个人资料 搜索zt99在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zt99的博客楼主
    发贴心情 [求助]◆◆xsl实现分页显示XML后如何导出全部数据??------各位版主,大侠救命!!!◆◆

    我用XSLT实现分页显示XML数据,现要求实现数据导出功能,导出全部页数据,各位老大帮忙出下点子.


    [此贴子已经被作者于2007-5-10 14:44:20编辑过]

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/7 18:11:00
     
     zt99 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究C++)
      文章:28
      积分:222
      门派:XML.ORG.CN
      注册:2006/11/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zt99发送一个短消息 把zt99加入好友 查看zt99的个人资料 搜索zt99在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zt99的博客2
    发贴心情 补上源代码,我借用孟老大的.
    ========================
    allproductioninfo.xml
    ========================
    <?xml version="1.0"?>
    <!--?xml-stylesheet type="text/xsl" href="allproductioninfo.xsl"?-->
    <?xml-stylesheet type="text/xsl" href="Copy of cpage.xsl"?>
    <root>
     <row id="1" lotno="AC2763-1"/>
     <row id="2" lotno="PC0472-1"   ld_total="1200" ld_good="1199" ld_ng="1" ld_rate="99.9%" />
     <row id="3" lotno="AC2894-1" />
     <row id="4" lotno="AC1527-1"  ld_total="1200" ld_good="1200" ld_ng="0" ld_rate="100%" />
     <row id="5" lotno="BY1673-1"  ld_total="1200" ld_good="1198" ld_ng="2" ld_rate="99.8%" />
     <row id="6" lotno="QY0861-5" ld_total="1200" ld_good="1195" ld_ng="5" ld_rate="99.5%" />
    <row id="7" lotno="AC2763-1" />
     <row id="8" lotno="PC0472-1"  ld_total="1200" ld_good="1199" ld_ng="1" ld_rate="99.9%" />
     <row id="9" lotno="AC2894-1" />
     <row id="10" lotno="AC1527-1" ld_total="1200" ld_good="1200" ld_ng="0" ld_rate="100%" />
     <row id="11" lotno="BY1673-1"  ld_total="1200" ld_good="1198" ld_ng="2" ld_rate="99.8%" />
     <row id="12" lotno="QY0861-5"  ld_total="1200" ld_good="1195" ld_ng="5" ld_rate="99.5%" />
    <row id="13" lotno="AC1527-1"  ld_total="1200" ld_good="1200" ld_ng="0" ld_rate="100%" />
     <row id="14" lotno="BY1673-1"  ld_total="1200" ld_good="1198" ld_ng="2" ld_rate="99.8%" />
    <row id="15" lotno="PC0472-1"  ld_total="1200" ld_good="1199" ld_ng="1" ld_rate="99.9%" />
    <row id="16" lotno="PC0472-1"  ld_total="1200" ld_good="1199" ld_ng="1" ld_rate="99.9%" />
    <row id="17" lotno="AC1527-1" name="213RD" ld_total="1200" ld_good="1200" ld_ng="0" ld_rate="100%" />
    </root>


    =================
    Copy of cpage.xsl
    ================

    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <html>
    <head>
    <title>动态分页</title>
    <script language="javascript">
    function tableToExcel() {
    window.clipboardData.setData("Text",document.all('theObjTable').outerHTML);

    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;
    }

    ExWBk.worksheets(1).Paste;
    }
    </script>


    <style>
    body,root,row,id,lotno,ld_total,ld_good,ld_rate{ font: 11px "宋
    体", "Arial", "Times New Roman"; }
    table { font-size: 11px; border: 0px double; border-color: #99CC99 #99CC99 #CCCCCC
    #CCCCCC; cellpadding:3;cellspacing:3; bgcolor:#eeeeee; text-decoration: blink}
    span { font-size: 12px; color: red; }
    .keybutton { cursor:hand; font-size: 11px; color: #003300; background: #ffffff;
    border: 0px solid;}
    </style>

    <script>
    function taxis(x)
    {
    stylesheet=document.XSLDocument;
    source=document.XMLDocument;
    sortField=document.XSLDocument.selectSingleNode("//xsl:sort/@select");
    sortField.value=x;
    Layer1.innerHTML=source.documentElement.transformNode(stylesheet);
    }
    </script>
    <script>
    <xsl:comment>
    <![CDATA[
    var OnePageNum=8;
    var PageNum=1;
    var XMLPageNum=1;
    function pages(Num)
    {
    stylesheet=document.XSLDocument;
    source=document.XMLDocument;
    nodes=source.documentElement.childNodes;
    len=nodes.length;
    for(i=1;i<=(len/OnePageNum);i++);
    XMLPageNum=i;
    var firstNum=0;
    var lastNume=0;
    if (Num=="first") {PageNum=1;}
    if (Num=="previous") {if (PageNum>1) PageNum -=1;}
    if (Num=="next") {if (PageNum<XMLPageNum) PageNum +=1;}
    if (Num=="last") {PageNum =XMLPageNum;}
    sortField=document.XSLDocument.selectSingleNode("//@test");
    firstNum=OnePageNum*(PageNum-1)+1;
    lastNum=OnePageNum*(PageNum-1)+OnePageNum;
    text="position()>="+firstNum+" and position()<="+lastNum;
    sortField.text=text;
    Layer1.innerHTML=source.documentElement.transformNode(stylesheet);
    }
    ]]>
    </xsl:comment>
    </script>
    </head>
    <body>


    <p align="center"><span>动态分页</span></p>
    <table align="center" width="850" >
    <tr>   
    <td>
    <button id="cmdfirstPage" class="keybutton" onclick="pages('first');" >首页</button>
    <button id="cmdpreviousPage" class="keybutton" onclick="pages('previous');" >上一页</button>
    <button id="cmdnextPage" class="keybutton" onclick="pages('next');">下一页</button>
    <button id="cmdlastPage" class="keybutton" onclick="pages('last');">尾页</button>
    </td>
    </tr>
    </table>
    <div id="Layer1" name="Layer1"> <xsl:apply-templates select="root" /></div>
    </body>
    </html>
    </xsl:template>
    <xsl:template match="root">
    <table width="850" border="1" align="center" cellpadding="1" cellspacing="1"
    bordercolordark="#ffffff" bordercolorlight="#ADAAAD" id='theObjTable'>
    <tr bgcolor="#FFCC99" align="center">
    <TD style="cursor:hand" onClick="taxis('@id')">ID</TD>
    <td style="cursor:hand" onClick="taxis('@lotno')">LOTNO</td>
    <TD colspan="3" ALIGN='CENTER'>LD</TD>
    <tr/>
    <td></td>
    <td></td>
    <td align='center'>投入</td>
    <td align='center'>良品</td>
    <td align='center'>步留</td>
    <tr/>
    </tr>
    <xsl:apply-templates select="row">
    <xsl:sort select="@id" data-type="number"/>
    <xsl:sort select="@lotno"/>
    </xsl:apply-templates>
    </table>
    <table>
    <td><a href="#" onclick="tableToExcel()">EXcel</a></td>
    </table>
    </xsl:template>
    <xsl:template match="row">
    <xsl:if test="position()>=1 and position() &lt;= 8">
    <tr align="center">
    <xsl:apply-templates select="@id" />
    <xsl:apply-templates select="@lotno" />
    <xsl:apply-templates select="@ld_total" />
    <xsl:apply-templates select="@ld_good" />
    <xsl:apply-templates select="@ld_rate" />
    </tr>
    </xsl:if>
    </xsl:template>
    <xsl:template match="@id">
    <td bgcolor="#eeeeee">
    <xsl:value-of select="."/>
    </td>
    </xsl:template>
    <xsl:template match="@lotno">
    <td>
    <xsl:value-of select="."/>
    </td>
    </xsl:template>
    <xsl:template match="@ld_total">
    <td>
    <xsl:value-of select="."/>
    </td>
    </xsl:template>
    <xsl:template match="@ld_good">
    <td>
    <xsl:value-of select="."/>
    </td>
    </xsl:template>
    <xsl:template match="@ld_rate">
    <td>
    <xsl:value-of select="."/>
    </td>
    </xsl:template>
    </xsl:stylesheet>

    目前只可实现导出当前页数据为XLS格式


    [此贴子已经被作者于2007-5-9 16:39:16编辑过]
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/7 18:20:00
     
     zt99 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究C++)
      文章:28
      积分:222
      门派:XML.ORG.CN
      注册:2006/11/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zt99发送一个短消息 把zt99加入好友 查看zt99的个人资料 搜索zt99在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zt99的博客3
    发贴心情 
    上面的代码,我把孟老大的分页,排序,结合到一起了.有兴趣的可以参考一下.
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/8 9:59:00
     
     zt99 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究C++)
      文章:28
      积分:222
      门派:XML.ORG.CN
      注册:2006/11/25

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zt99发送一个短消息 把zt99加入好友 查看zt99的个人资料 搜索zt99在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看zt99的博客4
    发贴心情 
    版主,帮下忙吧?
    我想在XSLT里加多一个不需要分页的表格,然后隐藏起来,在把导出的对象改为该表格,实现导出全部XML数据,可本人水平有限,惭愧啊!!
    阿门!!
    SOS!!!!!!!!!!!!!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/8 15:27:00
     
     wlpx 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:16
      积分:125
      门派:XML.ORG.CN
      注册:2007/5/18

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给wlpx发送一个短消息 把wlpx加入好友 查看wlpx的个人资料 搜索wlpx在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看wlpx的博客5
    发贴心情 我分别把那内容生成了两个文件
    allproductioninfo.xml

    和cpage.xsl

    这两个文件都放在CSS5.1的www目录下的shiyan文件夹里了,但是打开allproductioninfo.xml

    时,提示加载cpage.xsl时出错,不知道为什么,还有那个流传最广的,分页文章,我试验也不成功。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/5/27 9:52:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/8/12 22:57:05

    本主题贴数5,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    109.375ms