winform窗体中嵌入显示Excel文件

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/jinglelin/archive/2007/07/31/837722.html

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值