随笔-61  评论-25  文章-3  trackbacks-1

        最近做的一个项目是C/S结构的,由于客户需要,需要在Winform页面上直接显示Excel文件。对于个人来说,我一直都是在从事B/S结构的项目开发,对于Asp.net很熟悉。但是c/s结构项目的开发还是首次,刚开始的时候非常不适应。
为了实现这个目标,我的
partner使用了:axWebBrowser控件,进行显示。

 //显示报表
object MissingValue=System.Reflection.Missing.Value;
axWebBrowser1.Navigate(SavePath,
ref MissingValue,ref MissingValue,ref MissingValue,ref MissingValue);  

        这种方法,已经用了好几个月,发现用的不是很好,本人主要觉得有两个问题:1)系统页面显示Excel文件时,无法进行正常的Excel文档操作,估计是Excel进程问题。2)有时候无法正常显示Excel文档,可能是超时的原因。(那事实上到底是什么原因呢?暂时找不到确切的原因)。

        直到前些时间发现同事在使用axSpreadsheet控件,发现该控件的使用效果比axWebBrowser好,所以决定进行转用axSpreadsheet控件。主要用法是把Excel文件转换成xml文件,如何设置其XMLURL属性,即可显示。

axSpreadsheet1.XMLURL = saveXmlName;//saveXmlName是Excel保存成xml格式的文件名称

由于我们用来操作Excel文档的Excel库是office2000的库,保存文件的不支持Xml格式,但是支持html格式文件,故采用了:
axSpreadsheet.HTMLURL = saveHtmlName;
显示效果还可以。当然,由于系统已经投入使用,所以,要完全使用新的方式,还得做大量的测试,免得出现新的问题。当然,如果哪位高手有更好的建议,请提出。

 说明:
 SpreadSheet
的数据来源可以有三种,分别为CSV DataXMLHtml,分别对应方法为CSVData/CSVURLXMLData/XMLURLHTMLData/HTMLURL。不过这仅限于比较规则的二维表结构的数据。 一般的还是采用逐行设定值的方式。

 Office2003对象库版本是 Excel11.0,Office 2000为Excel9.0,Office XP为Excel10.0。
SpreadSheet类
的相关资料:http://www.cnblogs.com/mihayinoviki/archive/2004/04/08/5476.html

posted on 2007-07-31 15:40 可乐加冰 阅读(630) 评论(2)  编辑 收藏 网摘

评论:
#1楼  2007-09-10 16:15 | 汪安逸 [未注册用户]
恩,我们两的问题差不多,我也是刚学这个控件,你知不知道它的自动换行怎么设置啊?
  回复  引用    
#2楼 [楼主] 2007-09-12 11:04 | 可乐加冰      
该控件实际上无法跟Excel相比,它功能还没那么强大,至于该控件的自动换行,我也无法找到解决方案。即便使用它自带的“属性工具箱”或者“命令和选项”都无法找到自动换行的设置。并且似乎都无法接受回车换行符号。

我们目前对自动换行的要求不是很明显,所以这个问题不是很尖锐。当初在使用这种方式的时候,其实我也不看好,但是基于用户习惯,领导就决定这么干了。
  回复  引用  查看    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接: