茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    ASP.NET使用xslt將xml轉(zhuǎn)換成Excel
    來(lái)源:易賢網(wǎng) 閱讀:1561 次 日期:2016-08-08 14:59:01
    溫馨提示:易賢網(wǎng)小編為您整理了“ASP.NET使用xslt將xml轉(zhuǎn)換成Excel”,方便廣大網(wǎng)友查閱!

    本文介紹利用Excel軟件生成格式,提取和精簡(jiǎn)之后制作成xslt文件,將xml導(dǎo)入,以xslt為模板,生成新的Excel文件的過(guò)程。

    序:

    最近在給客戶做一個(gè)管理系統(tǒng)的時(shí)候,客戶提出要將查詢結(jié)果導(dǎo)出到Excel。對(duì)于還是實(shí)習(xí)生的我倍感壓力,于是找了點(diǎn)資料。網(wǎng)上有個(gè)示例,其中方法十分簡(jiǎn)單。于是照貓畫虎,把方法和心得與大家分享。OK,Let`s go

    第一步:

    創(chuàng)建一個(gè)Excel文件(就是 普通的Excel),在第一個(gè)單元格輸入“city”,然后選擇“另存為”,此時(shí)彈出保存窗口。注意:將保持格式選擇為“XML 表格(*.xml)”,點(diǎn)擊保存。完畢后用記事本打開這個(gè)Excel文件。你將看到如下的代碼

    <?xml version="1.0"?>

    <?mso-application progid="Excel.Sheet"?>

    <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>MC SYSTEM</Author>

    <LastAuthor>MC SYSTEM</LastAuthor>

    <Created>2009-05-28T16:20:57Z</Created>

    <Company>MC SYSTEM</Company>

    <Version>11.5606</Version>

    </DocumentProperties>

    <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">

    <WindowHeight>11250</WindowHeight>

    <WindowWidth>18180</WindowWidth>

    <WindowTopX>120</WindowTopX>

    <WindowTopY>75</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>

    </Styles>

    <Worksheet ss:Name="Sheet1">

    <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1"

    x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">

    <Row ss:>

    <Cell><Data ss:Type="String">org</Data></Cell>

    </Row>

    </Table>

    <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">

    <Unsynced/>

    <Selected/>

    <Panes>

    <Pane>

    <Number>3</Number>

    <ActiveRow>3</ActiveRow>

    <ActiveCol>1</ActiveCol>

    </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">

    <Unsynced/>

    <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">

    <Unsynced/>

    <ProtectObjects>False</ProtectObjects>

    <ProtectScenarios>False</ProtectScenarios>

    </WorksheetOptions>

    </Worksheet>

    </Workbook>

    其實(shí)這個(gè)就是將XML轉(zhuǎn)換成Excel最關(guān)鍵的部分。實(shí)際上這就是Excel對(duì)應(yīng)的XML格式。也就是說(shuō)按照這個(gè)格式來(lái)寫一個(gè)XML文件,然后用Excel打開,Excel會(huì)將這個(gè)文件以Excel的樣子正確的現(xiàn)實(shí)出來(lái)。

    第二步:

    在.net項(xiàng)目中添加一個(gè)xslt文件。學(xué)過(guò)xslt的朋友都知道通過(guò)xslt可以將xml轉(zhuǎn)換成其他的格式。可能有的朋友還沒(méi)有理解我的意思。其實(shí)我們通過(guò)xslt將xml轉(zhuǎn)換成“第一步”中的格式,然后保存或者輸出到客戶端就完成了導(dǎo)出Excel的功能了。

    對(duì)于第一步中的XML代碼我們要進(jìn)行一些修改,因?yàn)檫@是Excel自動(dòng)生成的,其中包含了大量的無(wú)用信息。修改后的代碼如下:

    <?xml version="1.0"?>

     <?mso-application progid="Excel.Sheet"?>

     <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">

     <Worksheet ss:Name="Sheet1">

      <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1"

        x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">

        <Row ss:>

          <Cell>

          <Data ss:Type="String">

            city <!--還記得嗎?這是第一步中輸入的city -->

          </Data>

         </Cell>

        </Row>

      </Table>

     </Worksheet>

     </Workbook>

    到目前為止,這個(gè)代碼還沒(méi)有實(shí)際的用處。我們將這個(gè)代碼copy到創(chuàng)建的xslt文件中,并將xslt的一些語(yǔ)法加入到上面的代碼中,最后xslt文件將是這個(gè)樣子:

    <?xml version="1.0"?>

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

     <xsl:template match="/">

      <?mso-application progid="Excel.Sheet"?>

      <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">

      <Worksheet ss:Name="Sheet1">

        <Table>

          <xsl:for-each select="*">

           <Row>

            <Cell>

            <Data ss:Type="String">

              <xsl:value-of select="."/>

            </Data>

           </Cell>

            <Cell>

            <Data ss:Type="String">

               <xsl:value-of select="."/>

            </Data>

           </Cell>

          </Row>

         </xsl:for-each>

        </Table>

      </Worksheet>

      </Workbook>

     </xsl:template>

    </xsl:stylesheet>

    保存這個(gè)xslt文件。

    第三步:

    編寫.net后臺(tái)代碼,我是通過(guò)一個(gè)按鈕事件觸發(fā)導(dǎo)出的。代碼如下:

    private void button1_Click(object sender, EventArgs e)

    {

     XmlDocument xdoc = new XmlDocument();

     xdoc.LoadXml("<records><record><org>北京</org></record></records>");

     XslCompiledTransform xct = new XslCompiledTransform();

     xct.Load(Application.StartupPath+"\\excel.xslt");

     XmlTextWriter writer = new XmlTextWriter("output.xls", null);

     writer.WriteProcessingInstruction("xml", "version="1.0"");

     xct.Transform(xdoc, null,writer);

     writer.Close();

    }

    總結(jié):

    其實(shí)這個(gè)方法的核心就是利用.net的xslt轉(zhuǎn)換功能將xml以一種特殊格式輸出出去。而這種格式可以利用Excel軟件自動(dòng)生成

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:ASP.NET使用xslt將xml轉(zhuǎn)換成Excel
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專用圖標(biāo)