- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在.NE 2.0下用interop 组件开发报表及在IIS6.0下发布权限解析
在.NET 2.0下用interop组件开发报表及IIS6.0下发布权限解析
赵士坤 刘为 蒲波
西部钻探工程有限公司克拉玛依钻井公司 克拉玛依市 834009
摘要 .NET2.0技术是当下流行的WEB开发技术,事非经过不知难,这句话用在程序开发领域再实际不过了,和大多数从事.NET下WEB开发程序员一样,本人也走过从JSP+SERVLET转到C/S开发,再转到.NET下WEB开发的曲折历程,深知在JSP里面做点事要费多少工夫,找多少开源的报表组件才能成行,现在.NET下好多控件、组件都被标准化了,大大的提高了工作效率,减少了大量的无意义的重复劳动。本文讲述了在.NET2.0开发平台下如何利用COM中提供的INTEROP组件生成定制的EXCEL报表的方法,以及在IIS6.0服务器发布后出现异常、错误的解决方案,类似的实现方案很多,本文是在本人开发实践中遇到的比较典型的报表问题的解决方案,比较而言目前这种方案是比较优秀的,希望通过和大家的分享能给正在从事.NET 平台下WEB开发的初学者一点启示和帮助。
关键词 VBA IIS6.0 权限
1 背景介绍
报表功能是大部分管理系统的基本功能。
2 程序架构分析
2.1 系统分析
在一般的企业应用开发中都会涉及到报表的生成,且一般报表的格式都是生成Excel格式的。对于各种报表的生成一直是程序员心中永远的痛,因为对于很多程序员来说每写一个报表都意味着要写一大断代码来实现,而且有的报表可能极其复杂以及不规范,这时就会浪费程序员大量的时间来编写和调试这些代码,那到底有没有一种方法能使代码尽量少写,且又能实现各种Excel报表的生成呢,下面我们就转入正题。 我们要生成Excel报表,其实我们只需要两样东西:
1报表的样式,也就是哪个字段应该填在哪里,哪一列应该填什么,字体大小,颜色,单元格高度,宽度,单元格是否合并,是否跨行,是否跨列,是横向报表(所谓横向报表,我自定义为:一张Excel报表就是有一条记录或者有一条记录以及其关联记录而生成的报表,如一张订单报表通常就是有一个订单头和其相关的订单明细所生成,这个就是我自定义的横向报表)还是纵向报表(所谓纵向报表,我自定义为:一张报表就是有一个记录集所生成的,如要生成一张记录某个班级学生情况的报表,则要把这个班级的学生记录都要导出到这张报表中,这种报表基本上就是统计报表,一张报表可能会有几万条记录或者更多,这个就是我自定义的纵向报表)等等报表样式。
2报表的数据,对于我们而言有了报表样式,我们就知道在哪个或者哪几个单元格应该填哪些数据,具体的数据,我们则可以以DataTable的形式来表现,也可以以Data的形式来表现,至于用怎么样的数据格式可以随自己喜欢,自己来定义。
现在我们知道了生成Excel报表只要有了样式和数据,就可以生成一张自己想要的报表了,数据的生成并不困难,但是我们的困难就是这个报表的样式用什么来描述,怎么来描述。
using Excel; //引用EXCEL类
using System.Reflection; //引用这个才能使用Missing字段
程序操作EXCEL的应用其实读不读模板都能达到一样的效果,看实际情况而用了。#region 使用模板生成Excel表
string save_path = , tick = ;
ExcelOperate excelOperate = new ExcelOperate();
string temp_path = Server.MapPath(../ExportReports);//生成的文件存放路径
string template_path = Server.MapPath(../drilling);//模板路径
string url = ConfigurationManager.AppSettings[path].ToString();
if (!Directory.Exists(temp_path)) //判断存放模板副本EXCEL文件的路径是否存在,如果不存在则创建一个目录芳芳文件
{
Directory.CreateDirectory(temp_path);
Directory.CreateDirectory(template_path);
}
try
{
#region 使用模板导出Excel表
//建立一个Excel.Application的新进程
Exce
文档评论(0)