怎么在ASP.NET中利用xslt将xml转换为Excel

  介绍

怎么在ASP。净中利用xslt将xml转换为Excel ?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<强>第一步:

创建一个Excel文件(就是普通的Excel),在第一个单元格输入“城市”,然后选择“另存为”,此时弹出保存窗口。注意:将保持格式选择为“xml表格(* . xml)”,点击保存。完毕后用记事本打开这个Excel文件。你将看到如下的代码

& lt; ? xml  version=?.0“?比;   & lt; ? mso-application  progid=癊xcel.Sheet" ?比;   & lt; Workbook  xmlns=皍rn: schemas-microsoft-com:办公室:spreadsheet"   xmlns: o=皍rn: schemas-microsoft-com:办公室:office"   xmlns: x=皍rn: schemas-microsoft-com:办公室:excel"   xmlns: ss=皍rn: schemas-microsoft-com:办公室:spreadsheet"   xmlns: html=癶ttp://www.w3.org/TR/REC-html40"比;   & lt; DocumentProperties  xmlns=皍rn: schemas-microsoft-com:办公室:office"比;   & lt; Author> MC  SYSTEM</Author>   & lt; LastAuthor> MC  SYSTEM</LastAuthor>   & lt; Created> 2009 - 05 - 28 - t16:20:57z   & lt; Company> MC  SYSTEM</Company>   & lt; Version> 11.5606 & lt;/Version>   & lt;/DocumentProperties>   & lt; ExcelWorkbook  xmlns=皍rn: schemas-microsoft-com:办公室:excel"比;   & lt; WindowHeight> 11250 & lt;/WindowHeight>   & lt; WindowWidth> 18180 & lt;/WindowWidth>   & lt; WindowTopX> 120 & lt;/WindowTopX>   & lt; WindowTopY> 75 & lt;/WindowTopY>   & lt; ProtectStructure> False   & lt; ProtectWindows> False   & lt;/ExcelWorkbook>   & lt; Styles>   & lt; Style  ss: ID=癉efault", ss: Name=爸行浴弊4恰?   & lt; Alignment  ss:垂直=癈enter"/比;   & lt;边界/比;   & lt; Font  ss:字体名=八翁濉?x: CharSet=?34“, ss:大??2“/比;   & lt;室内/比;   & lt; NumberFormat/比;   & lt;保护/比;   & lt;/Style>   & lt;/Styles>   & lt; Worksheet  ss: Name=癝heet1"比;   & lt; Table  ss: ExpandedColumnCount=?“, ss: ExpandedRowCount=?“, x: FullColumns=?”;   x: FullRows=?“, ss: DefaultColumnWidth=?4”, ss: DefaultRowHeight=?4.25“比;   & lt; Row  ss:比;   & lt; Cell> & lt; Data  ss: Type=癝tring"祝辞org & lt;/Cell>   & lt;/Row>   & lt;/Table>   & lt; WorksheetOptions  xmlns=皍rn: schemas-microsoft-com:办公室:excel"比;   & lt; Unsynced/比;   & lt;选择/比;   & lt; Panes>   & lt; Pane>   & lt; Number> 3 & lt;/Number>   & lt; ActiveRow> 3 & lt;/ActiveRow>   & lt; ActiveCol> 1 & lt;/ActiveCol>   & lt;/Pane>   & lt;/Panes>   & lt; ProtectObjects> False   & lt; ProtectScenarios> False   & lt;/WorksheetOptions>   & lt;/Worksheet>   & lt; Worksheet  ss: Name=癝heet2"比;   & lt; Table  ss: ExpandedColumnCount=?“, ss: ExpandedRowCount=?“, x: FullColumns=?”;   x: FullRows=?“, ss: DefaultColumnWidth=?4”, ss: DefaultRowHeight=?4.25“/比;   & lt; WorksheetOptions  xmlns=皍rn: schemas-microsoft-com:办公室:excel"比;   & lt; Unsynced/比;   & lt; ProtectObjects> False   & lt; ProtectScenarios> False   & lt;/WorksheetOptions>   & lt;/Worksheet>   & lt; Worksheet  ss: Name=癝heet3"比;   & lt; Table  ss: ExpandedColumnCount=?“, ss: ExpandedRowCount=?“, x: FullColumns=?”;   x: FullRows=?“, ss: DefaultColumnWidth=?4”, ss: DefaultRowHeight=?4.25“/比;   & lt; WorksheetOptions  xmlns=皍rn: schemas-microsoft-com:办公室:excel"比;   & lt; Unsynced/比;   & lt; ProtectObjects> False   & lt; ProtectScenarios> False   & lt;/WorksheetOptions>   & lt;/Worksheet>   & lt;/Workbook>

其实这个就是将XML转换成Excel最关键的部分,实际上这就是Excel对应的XML格式。也就是说按照这个格式来写一个XML文件,然后用Excel打开,Excel会将这个文件以Excel的样子正确的现实出来。

<强>第二步:

在。net项目中添加一个xslt文件。学过xslt的朋友都知道通过xslt可以将XML转换成其他的格式。可能有的朋友还没有理解我的意思,其实我们通过xslt将XML转换成“第一步”中的格式,然后保存或者输出到客户端就完成了导出Excel的功能了。

对于第一步中XML的代码我们要进行一些修改,因为这是Excel自动生成的,其中包含了大量的无用信息。修改后的代码如下:

& lt; ? xml  version=?.0“?比;   ,& lt; ? mso-application  progid=癊xcel.Sheet" ?比;   ,& lt; Workbook  xmlns=皍rn: schemas-microsoft-com:办公室:spreadsheet"   ,xmlns: o=皍rn: schemas-microsoft-com:办公室:office"   ,xmlns: x=皍rn: schemas-microsoft-com:办公室:excel"   ,xmlns: ss=皍rn: schemas-microsoft-com:办公室:spreadsheet"   ,xmlns: html=癶ttp://www.w3.org/TR/REC-html40"比;   ,   ,& lt; Worksheet  ss: Name=癝heet1"比;   & lt;才能Table  ss: ExpandedColumnCount=?“, ss: ExpandedRowCount=?“, x: FullColumns=?”;   ,,,x: FullRows=?“, ss: DefaultColumnWidth=?4”, ss: DefaultRowHeight=?4.25“比;   ,,,& lt; Row  ss:比;   ,,,,,& lt; Cell>      null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在ASP.NET中利用xslt将xml转换为Excel