使用XSLT和XML创建Excel.docxVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用XSLT和XML创建Excel引言在做SharePoint开发时,有时候会要求将SPGridView或者用表格(System.Web.UI.WebControls.Table)展示的数据导出为Excel。 如果使用SPGridView且不分页我们可以轻松得将其展示数据导出为Excel,具体做法参考这里。如果SPGridView做在了Web部件里,就很难使用这样的技术了,因为我们无法去重载Web部件所在的Page的VerifyRenderingInServerForm以防止导出时产生异常。另外如果我们用代码自己画出来的稍微复杂的报表要求导出为Excel时就很难借助SPGridView了。使用XSLT和XML来创建Excel可以满足灵活的表格展现样式,以下将介绍如何使用这种技术。开发步骤设计所需要的XSLT无需从头手工编写Excel展示所需要的XSLT,我们可以借助Excel导出XML,然后再改成相应的XSLT。打开Excel2010(或者2007),设置好一个样例表格,包括标题和两行数据,如下所示然后点击另存为,注意保存类型选择“XML电子表格2003”我们的目的就是要将数据最终转行成这样格式的XML格式,浏览器推送的时候以xls为扩展名,这样用户就可以打开查看数据了。打开另存为的xml文件,如图所示红框圈住的地方就是需要使用XSLT技术动态替换的部分。现在还是一个XML文件,我们需要改成XSLT文件,首先在文件开始处加上文件结尾处加上然后我们要将示例数据部分改掉,改成如下所示用这些标签替换以上用红框圈住的部分,对于xsl:for-each的用法请查看相应的资料,此时应该让大家看一下XML数据格式了,如下这个时候XSLT文件还没有修改完,最后一步也是很重要的一步,是我经过好久才查找出来的,如图所示,请将Table中的ss:ExpandedColumnCount属性删除,如果列信息是固定的,比如我举的例子则可以保留此属性,如果列数目是变化的一定要删除这个属性到此,XSLT文件已经做好了我们需要用程序首先构造所需要的xml数据, 使用StringBuilder就可以高效的构造,代码片段如下使用类XslCompiledTransform设置http响应报头信息,推送数据至此,导出功能就完成了。如果报表的列是变化的我们就需要将列也要用XSLT技术替换成可变的,注意一定要将Table中的ss:ExpandedColumnCount属性删除, 以下我附上几个贴图展示可变列的XSLT修改方案Excel展示如下,车牌号列数目是可变的XSLT文件重要的部分,这是标题部分这是数据行部分这是报表数据的XML格式参考资料XML and XSLT to create Excel Spreadsheet

文档评论(0)

185****7617 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档