亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

ASP.NET使用xslt將xml轉換成Excel

2024-07-10 13:30:41
字體:
來源:轉載
供稿:網友

序:

  最近在給客戶做一個管理系統的時候,客戶提出要將查詢結果導出到Excel。對于還是實習生的我倍感壓力,于是找了點資料。網上有個示例,其中方法十分簡單。于是照貓畫虎,把方法和心得與大家分享。OK,Let`s go

第一步:

  創建一個Excel文件(就是 普通的Excel),在第一個單元格輸入“city”,然后選擇“另存為”,此時彈出保存窗口。注意:將保持格式選擇為“XML 表格(*.xml)”,點擊保存。完畢后用記事本打開這個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>

  其實這個就是將XML轉換成Excel最關鍵的部分。實際上這就是Excel對應的XML格式。也就是說按照這個格式來寫一個XML文件,然后用Excel打開,Excel會將這個文件以Excel的樣子正確的現實出來。

第二步:

  在.net項目中添加一個xslt文件。學過xslt的朋友都知道通過xslt可以將xml轉換成其他的格式??赡苡械呐笥堰€沒有理解我的意思。其實我們通過xslt將xml轉換成“第一步”中的格式,然后保存或者輸出到客戶端就完成了導出Excel的功能了。

對于第一步中的XML代碼我們要進行一些修改,因為這是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">  <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>

到目前為止,這個代碼還沒有實際的用處。我們將這個代碼copy到創建的xslt文件中,并將xslt的一些語法加入到上面的代碼中,最后xslt文件將是這個樣子:

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

保存這個xslt文件。

第三步:

編寫.net后臺代碼,我是通過一個按鈕事件觸發導出的。代碼如下:

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

 

總結:

其實這個方法的核心就是利用.net的xslt轉換功能將xml以一種特殊格式輸出出去。而這種格式可以利用Excel軟件自動生成


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区免费网站| 亚洲影院色在线观看免费| 性色av一区二区三区红粉影视| 久久777国产线看观看精品| 亚洲欧美在线看| 国产成人精品久久亚洲高清不卡| 亚洲电影成人av99爱色| 久久久久国产精品www| 久久久亚洲欧洲日产国码aⅴ| 国模极品一区二区三区| 永久555www成人免费| 亚洲美女自拍视频| 日韩欧美国产成人| 综合欧美国产视频二区| 国产成人精品视频在线观看| 91精品国产色综合| 伊人久久五月天| 国产精品99久久久久久白浆小说| 国产999精品久久久| 国产成人精品国内自产拍免费看| 中文精品99久久国产香蕉| 国产69精品久久久久久| 国产一区二区日韩精品欧美精品| 国产一区二区三区网站| 不卡av日日日| 中文字幕av一区二区三区谷原希美| 久久久黄色av| 色偷偷亚洲男人天堂| 久久男人资源视频| 日韩女优人人人人射在线视频| 亚洲国产天堂久久国产91| 91色视频在线观看| 日本久久久久久久久| 精品国产一区二区三区在线观看| 精品丝袜一区二区三区| 日本伊人精品一区二区三区介绍| 亚洲精品ady| 精品国产福利在线| 欧美在线一级va免费观看| 中文字幕亚洲一区二区三区| 日韩欧美aⅴ综合网站发布| 亚洲国产精品久久久久秋霞蜜臀| 少妇高潮 亚洲精品| 亚洲区免费影片| 亚洲精品久久久久| 午夜精品久久久久久久白皮肤| 国产在线拍揄自揄视频不卡99| 国产免费一区二区三区香蕉精| 亚洲精品网址在线观看| 亚洲图片欧美午夜| 91精品久久久久久久久| 国产极品jizzhd欧美| 国产精品永久免费在线| 中文字幕亚洲专区| 成人黄色片网站| 日韩av在线看| 国产精品一区二区三区久久久| 国产精品视频免费观看www| 亚洲国产精品久久久久| 精品久久在线播放| 成人激情视频在线播放| 国产中文字幕日韩| 欧美天堂在线观看| 国产精品女视频| 成人av番号网| 福利一区福利二区微拍刺激| 永久555www成人免费| 全色精品综合影院| 日韩av手机在线| 亚洲精品xxxx| 日产精品久久久一区二区福利| 国产中文日韩欧美| 亚洲三级av在线| 欧美日本亚洲视频| 国产日韩欧美电影在线观看| 日韩美女福利视频| 久久99精品久久久久久琪琪| 日本国产欧美一区二区三区| 日本道色综合久久影院| 中文字幕亚洲自拍| 国产精品视频资源| 亚洲精品成人久久电影| 精品国产电影一区| 国产在线98福利播放视频| 富二代精品短视频| 久久久国产视频| 久久夜色精品国产欧美乱| 欧美中文字幕视频| 2021久久精品国产99国产精品| 国产视频精品久久久| 国产精品a久久久久久| 欧洲成人午夜免费大片| 亚洲在线视频福利| 国产主播欧美精品| 免费91在线视频| 日韩一区二区欧美| 欧美一区三区三区高中清蜜桃| 不卡av在线网站| 国产成人小视频在线观看| 国产精品嫩草影院久久久| 国产精品福利观看| 日韩中文字幕精品视频| 国产97免费视| 欧美国产亚洲视频| 国产成人精品久久| 国产精品揄拍一区二区| 久久精品国产一区| 欧美精品免费在线观看| 91精品国产高清久久久久久91| 精品伊人久久97| 欧美日韩一区二区免费视频| 91免费精品国偷自产在线| 欧美在线视频免费| 草民午夜欧美限制a级福利片| 91福利视频在线观看| 国产日韩精品电影| 成人免费视频a| 国产精品久久久久久亚洲影视| 亚洲精品按摩视频| 日本在线精品视频| 国内精品国产三级国产在线专| 亚洲xxx自由成熟| 色偷偷偷亚洲综合网另类| 欧美成人免费网| 欧美大全免费观看电视剧大泉洋| 欲色天天网综合久久| 亚洲人成电影网站色xx| 国产精品ⅴa在线观看h| 91免费人成网站在线观看18| 一本色道久久88综合亚洲精品ⅰ| 欧美性在线观看| 亚洲电影免费观看高清完整版在线观看| 欧美性猛交xxxx免费看久久久| 成人精品在线观看| 久久久久亚洲精品国产| 欧洲精品久久久| 亚洲另类图片色| 国产精品第1页| 欧美性色19p| 美女国内精品自产拍在线播放| 欧美尺度大的性做爰视频| 欧美性色xo影院| 色yeye香蕉凹凸一区二区av| 亚洲a一级视频| 欧美一区二区影院| 日韩av免费一区| 色偷偷av亚洲男人的天堂| 在线观看国产精品日韩av| 日韩美女在线观看| 日本不卡免费高清视频| 日韩av在线免费观看一区| 日韩va亚洲va欧洲va国产| 日韩精品免费在线观看| 欧美在线性视频| 亚洲免费福利视频| 亚洲精品美女久久| 最近2019年中文视频免费在线观看| 欧美激情精品在线| 久久精品99久久香蕉国产色戒| 成人精品aaaa网站| 欧美贵妇videos办公室| 国产香蕉精品视频一区二区三区| 亚洲成avwww人| 亚洲国产精品中文|