java xslt 导出excel_NET利用xslt将xml转换成Excel

序:

最近在给客户做一个管理系统的时候,客户提出要将查询结果导出到Excel。对于还是实习生的我倍感压力,于是找了点资料。www.coolite.com上有个示例,其中方法十分简单。于是照猫画虎,把方法和心得与大家分享。OK,Let`s

go

第一步:

创建一个Excel文件(就是

普通的Excel),在第一个单元格输入“city”,然后选择“另存为”,此时弹出保存窗口。注意:将保持格式选择为“XML

表格(*.xml)”,点击保存。完毕后用记事本打开这个Excel文件。你将看到如下的代码

version="1.0"?>

progid="Excel.Sheet"?>

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

xmlns="urn:schemas-microsoft-com:office:office">

MC

SYSTEM

MC

SYSTEM

2009-05-28T16:20:57Z

MC

SYSTEM

11.5606

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

11250

18180

120

75

False

False

ss:Vertical="Center"/>

ss:Size="12"/>

ss:ExpandedRowCount="1" x:FullColumns="1"

x:FullRows="1" ss:DefaultColumnWidth="54"

ss:DefaultRowHeight="14.25">

ss:Type="String">org

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

3

3

1

False

False

ss:ExpandedRowCount="0" x:FullColumns="1"

x:FullRows="1" ss:DefaultColumnWidth="54"

ss:DefaultRowHeight="14.25"/>

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

False

False

ss:ExpandedRowCount="0" x:FullColumns="1"

x:FullRows="1" ss:DefaultColumnWidth="54"

ss:DefaultRowHeight="14.25"/>

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

False

False

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

第二步:

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

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

progid="Excel.Sheet"?>

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

ss:Name="Sheet1">

ss:ExpandedRowCount="1" x:FullColumns="1"

x:FullRows="1" ss:DefaultColumnWidth="54"

ss:DefaultRowHeight="14.25">

city 

到目前为止,这个代码还没有实际的用处。我们将这个代码copy到创建的xslt文件中,并将xslt的一些语法加入到上面的代码中,最后xslt文件将是这个样子:

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

match="/">

progid="Excel.Sheet"?>

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

ss:Type="String">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值