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

    >> XML与各种文件格式的相互转换及相关工具。 word to xml, xml to word, html to xml, xml to pdf,
    csv to xml, rtf to xml, text to xml, xml to text, xls to xml, xml to xls
    FOP
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 WORD to XML, HTML to XML 』 → 求助:如何利用XSL把XML文档在EXCEL中显示? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 13129 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 求助:如何利用XSL把XML文档在EXCEL中显示? 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     alonefish 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:6
      积分:79
      门派:XML.ORG.CN
      注册:2005/7/27

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给alonefish发送一个短消息 把alonefish加入好友 查看alonefish的个人资料 搜索alonefish在『 WORD to XML, HTML to XML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看alonefish的博客楼主
    发贴心情 求助:如何利用XSL把XML文档在EXCEL中显示?

    <%
        Dim oXML
        Dim oXSL
        '将 XSL(使用 XSL 指令的工作簿模板)加载到 DOMDocument 中。
        Set oXML = Server.CreateObject("Microsoft.XMLDOM")
        oXML.async=False
        oXML.Load Server.MapPath("result.xml")
        Set oXSL = CreateObject("Microsoft.XMLDOM")
        oXSL.async=False
        oXSL.Load Server.MapPath("Orders.xsl")
        
        Dim oResults
        Set oResults = CreateObject("Microsoft.XMLDOM")
        oXML.transformNodeToObject oXSL, oResults

        Response.Buffer = True
        nRecords=rs.RecordCount
        If oXSL.parseError.errorCode <> 0 Then
           Response.Write "Parse Error: " & oResults.parseError.reason
        Else
           '修改 XSL 中 <table> 节点的 ss:ExpandedRowCount 属性。
            Dim oTable
            Set oTable = oResults.selectSingleNode("Workbook/Worksheet/Table")
            oTable.setAttribute "ss:ExpandedRowCount", nRecords+2
            '返回得到的 XML 电子表格,以便在 Excel 中进行显示。
            Response.ContentType = "application/vnd.ms-excel"
            Response.Charset = "ISO-8859-1"
            Response.Write oResults.XML
            Response.Flush
        End If
    %>
    这是MSDN里的文章这样来实现转换的,不过我在执行时,在oTable.setAttribute "ss:ExpandedRowCount", nRecords+2
    这行出现如下错误:
    Microsoft VBScript 编译器错误 错误 '800a03f6'
    缺少 'End'
    /iisHelp/common/500-100.asp,行242
    Microsoft VBScript 运行时错误 错误 '800a01a8'
    缺少对象
    /xmlexcel.asp,行57 ,就是上面那行。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/29 1:30:00
     
     alonefish 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:6
      积分:79
      门派:XML.ORG.CN
      注册:2005/7/27

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给alonefish发送一个短消息 把alonefish加入好友 查看alonefish的个人资料 搜索alonefish在『 WORD to XML, HTML to XML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看alonefish的博客2
    发贴心情 
    样式单是在EXCEL中创建的,如下:
    <?xml version="1.0"?>
    <?mso-application progid="Excel.Sheet"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
    <xsl:template match="/">
    <xsl:pi name="xml">version="1.0"</xsl:pi>
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
    xmlns:o="urn:schemas-microsoft-com:office:office"
    xmlns:x="urn:schemas-microsoft-com:office:excel"
    xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
    xmlns:html="http://www.w3.org/TR/REC-html40">
    <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
      <Author>yzw</Author>
      <LastAuthor>yzw</LastAuthor>
      <Created>2005-05-27T11:39:40Z</Created>
      <Company>alone</Company>
      <Version>11.5606</Version>
    </DocumentProperties>
    <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
      <WindowHeight>9225</WindowHeight>
      <WindowWidth>11700</WindowWidth>
      <WindowTopX>240</WindowTopX>
      <WindowTopY>120</WindowTopY>
      <ProtectStructure>False</ProtectStructure>
      <ProtectWindows>False</ProtectWindows>
    </ExcelWorkbook>
    <Styles>
      <Style ss:ID="Default" ss:Name="Normal">
       <Alignment ss:Vertical="Center"/>
       <Borders/>
       <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
       <Interior/>
       <NumberFormat/>
       <Protection/>
      </Style>
      <Style ss:ID="s22">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
       <Borders>
        <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"/>
       </Borders>
       <Interior ss:Color="#C0C0C0" ss:Pattern="Solid"/>
      </Style>
      <Style ss:ID="s23">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
      </Style>
      <Style ss:ID="s24">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
       <Borders>
        <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"/>
       </Borders>
       <Interior ss:Color="#C0C0C0" ss:Pattern="Solid"/>
       <NumberFormat ss:Format="0%"/>
      </Style>
      <Style ss:ID="s25">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
       <NumberFormat ss:Format="0%"/>
      </Style>
      <Style ss:ID="s26">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
       <Borders>
        <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="3"/>
       </Borders>
       <Interior ss:Color="#C0C0C0" ss:Pattern="Solid"/>
       <NumberFormat
        ss:Format="_ &quot;¥&quot;* #,##0.00_ ;_ &quot;¥&quot;* \-#,##0.00_ ;_ &quot;¥&quot;* &quot;-&quot;??_ ;_ @_ "/>
      </Style>
      <Style ss:ID="s27">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
       <NumberFormat
        ss:Format="_ &quot;¥&quot;* #,##0.00_ ;_ &quot;¥&quot;* \-#,##0.00_ ;_ &quot;¥&quot;* &quot;-&quot;??_ ;_ @_ "/>
      </Style>
      <Style ss:ID="s31">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
       <Borders>
        <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
       </Borders>
      </Style>
      <Style ss:ID="s32">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
       <Borders>
        <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
       </Borders>
       <NumberFormat ss:Format="0%"/>
      </Style>
      <Style ss:ID="s33">
       <Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
       <Borders>
        <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
       </Borders>
       <NumberFormat
        ss:Format="_ &quot;¥&quot;* #,##0.00_ ;_ &quot;¥&quot;* \-#,##0.00_ ;_ &quot;¥&quot;* &quot;-&quot;??_ ;_ @_ "/>
      </Style>
    </Styles>
    <Worksheet ss:Name="Sheet1">
      <Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="3" x:FullColumns="1"
       x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
       <Column ss:StyleID="s23" ss:AutoFitWidth="0" ss:Width="93.75" ss:Span="3"/>
       <Column ss:Index="5" ss:StyleID="s25" ss:AutoFitWidth="0" ss:Width="93.75"/>
       <Column ss:StyleID="s27" ss:AutoFitWidth="0" ss:Width="93.75"/>
       <Row ss:Height="15">
        <Cell ss:StyleID="s22"><Data ss:Type="String">订单 ID</Data></Cell>
        <Cell ss:StyleID="s22"><Data ss:Type="String">产品 ID</Data></Cell>
        <Cell ss:StyleID="s22"><Data ss:Type="String">单价</Data></Cell>
        <Cell ss:StyleID="s22"><Data ss:Type="String">数量</Data></Cell>
        <Cell ss:StyleID="s24"><Data ss:Type="String">折扣</Data></Cell>
        <Cell ss:StyleID="s26"><Data ss:Type="String">总数</Data></Cell>
       </Row>
       <xsl:for-each select="xml/rs:data/z:row">
    <Row ss:AutoFitHeight="0" ss:Height="13.5">
        <Cell><Data ss:Type="String"><xsl:value-of select="@OrderID"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@ProductID"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@UnitPrice"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@Quantity"/></Data></Cell>
        <Cell><Data ss:Type="Number"><xsl:value-of select="@Discount"/></Data></Cell>
        <Cell ss:Formula="=RC[-3]*RC[-2]*(1-RC[-1])"><Data ss:Type="Number">0</Data></Cell>
    </Row>
    </xsl:for-each>

       <Row ss:AutoFitHeight="0" ss:Height="24.9375">
        <Cell ss:StyleID="s31"/>
        <Cell ss:StyleID="s31"/>
        <Cell ss:StyleID="s31"/>
        <Cell ss:StyleID="s31"/>
        <Cell ss:StyleID="s32"/>
        <Cell ss:StyleID="s33" ss:Formula="=SUM(R2C:R[-1]C)"><Data ss:Type="Number">73926</Data></Cell>
       </Row>
      </Table>
      <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
       <Selected/>
       <DoNotDisplayGridlines/>
       <FreezePanes/>
       <FrozenNoSplit/>
       <SplitHorizontal>1</SplitHorizontal>
       <TopRowBottomPane>1</TopRowBottomPane>
       <ActivePane>2</ActivePane>
       <Panes>
        <Pane>
         <Number>3</Number>
        </Pane>
        <Pane>
         <Number>2</Number>
         <ActiveRow>0</ActiveRow>
        </Pane>
       </Panes>
       <ProtectObjects>False</ProtectObjects>
       <ProtectScenarios>False</ProtectScenarios>
      </WorksheetOptions>
    </Worksheet>
    <Worksheet ss:Name="Sheet2">
      <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
       x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
      <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
       <ProtectObjects>False</ProtectObjects>
       <ProtectScenarios>False</ProtectScenarios>
      </WorksheetOptions>
    </Worksheet>
    <Worksheet ss:Name="Sheet3">
      <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
       x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
      <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
       <ProtectObjects>False</ProtectObjects>
       <ProtectScenarios>False</ProtectScenarios>
      </WorksheetOptions>
    </Worksheet>
    </Workbook>
    </xsl:template>
    </xsl:stylesheet>

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/29 1:31:00
     
     alonefish 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:6
      积分:79
      门派:XML.ORG.CN
      注册:2005/7/27

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给alonefish发送一个短消息 把alonefish加入好友 查看alonefish的个人资料 搜索alonefish在『 WORD to XML, HTML to XML 』的所有贴子 引用回复这个贴子 回复这个贴子 查看alonefish的博客3
    发贴心情 
    管理员,斑竹,高手们请帮忙指教下,如果有好的方法也请告之!谢谢!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/7/29 1:32:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 WORD to XML, HTML to XML 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/19 18:10:12

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

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