最近做的一个项目是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 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

winform窗体中嵌入显示Excel文件相关推荐

  1. windows窗体(winform)中嵌入显示Excel工作表。

    环境:c#2005,Excel2003. 1 实现后的效果如下图: (截图) 2 实现代码: using System; using System.Collections.Generic; using ...

  2. 怎样在Winform窗体中嵌入Web浏览器

    背景 项目当中需要在Winform窗体中嵌入网页,虽然微软自带了WebBrowser控件,但是她是以IE模式运行的,兼容性实在太差,找了一圈发现有个叫CefSharp的家伙还不错,于是就拿来玩了一下. ...

  3. WinForm在窗体中嵌入窗体

    WinForm在窗体中嵌入窗体WinForm在窗体中嵌入窗体WinForm在窗体中嵌入窗体 Form1.cs SubForm 代码 using System; using System.Collect ...

  4. 【二次开发】将CATIA嵌入到Winform窗体中

    由于项目需要,我们需要将CATIA嵌入到我们的软件之中,要求在软件启动后,同时调用并启动CATIA软件,并能够屏蔽掉软件自身的菜单和按钮.通过在网上查阅资料,实现了这一功能. 调用并启动CATIA p ...

  5. php中访问excel文件,PHP中常用的Excel文件访问类及修改 | 学步园

    近日,由于手头项目需要解析web提交的excel文件,不得不看看这个在php中使用比较广泛的excel访问类了.之所以说它使用广泛,是后来在网上查找问题解决方法时才知道它的使用面的. 首先说遇到的问题 ...

  6. js加载并显示excel文件

    亲测可用,若有疑问请私信 js 加载并显示 excel 文件 养成先放效果在开讲的好习惯~ 项目演示和代码地址:codesandbox/js-xlsx-demo js-xlsx-demo - Code ...

  7. access窗体读取html,HTML_ACCESS如何打印窗体中当前显示的记录,问题: 连续或者单个窗 - phpStudy...

    ACCESS如何打印窗体中当前显示的记录 问题: 连续或者单个窗体,如何打印当前显示的记录?当前窗体还有对应的子窗体,也要一起打印出来 我在一个窗体里有一个单号,大子窗体里有几组数据,我的报表是一组数 ...

  8. Java面试poi中excel版本大小_java 中 poi解析Excel文件版本问题解决办法

    java 中 poi解析Excel文件版本问题解决办法 发布时间:2020-10-02 03:46:15 来源:脚本之家 阅读:91 作者:程诺 poi解析Excel文件版本问题解决办法 poi解析E ...

  9. 在WinForm程序中嵌入ASP.NET[转]

    在WinForm程序中嵌入ASP.NET 现在的流行趋势是桌面程序Web化,Web程序桌面化,呵呵.最终目标就是你中有我,我中有你.例如MSN Explorer就是一个很好的展示,让用户在使用的时候分 ...

最新文章

  1. app获取个人信息是否合法_【关注】如何界定App违法违规收集个人信息?认定方法来了!...
  2. maven 下载 源码和javadoc命令
  3. LightOJ 1205 Palindromic Numbers
  4. Jupyter Notebook 快速入门简易教程
  5. 架构设计:Vue+nginx+jwt+zuul+eureka+ribbon+hystrix+rabbitmq+mysql集群+redis集群+elsticsearch集群
  6. boost::convert模块实现默认转换器的测试程序
  7. Jexus~docker与它产生了暖味
  8. Blackcat主题-Wordpress
  9. python按照区间长度给定不同数量的随机数
  10. undefined reference to `create_module''
  11. AVA + Spectron + JavaScript 对 JS 编写的客户端进行自动化测试
  12. 【2019】微软Power BI 每月功能更新系列——Power BI 8月版本功能完整解读
  13. 开源SignalR-Client-CPP使用总结
  14. GitHub Copilot 自动写代码插件使用体验
  15. STRAIGHT分析合成算法
  16. 图像算法工程师三重境界
  17. Vue中的keep-alive组件
  18. java 商品评价_java 商品评价计算算法
  19. Android 高德地图(带有定位和点击显示经度纬度)
  20. python解一元二次方程ax^2+bx_python 练习题:定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解...

热门文章

  1. linux源码gpio模拟i2c,linux内核gpio模拟i2c实例.doc
  2. c++实现rsa算法_RSA简介
  3. 19软件班专业英语学期总结
  4. Java讲课笔记10:类的封装
  5. 【codevs3372】选学霸,并查集+可达性DP
  6. C ++ 类 | 类的创建和使用_1
  7. mysql+after+commit_P8级面试难题,after_sync vs after_commit,哪个性能更好?
  8. stm32定时2通道3映射_stm32学习笔记之问题总结
  9. 某个网页一直不停刷新_利用浏览器做网页长截图
  10. 【英语学习】【English L06】U06 Banking L4 I'd like to transfer some money