龙源期刊网 http://www.doczj.com/doc/7c6e747d7375a417866f8fac.html

C# winform中嵌入Excel实现复杂表格的显示和控制

作者:斯琴巴图杨利润

来源:《软件导刊》2013年第04期

摘要:阐述了在C#winform程序中,使用WebBrowser控件将Excel嵌入到窗体内,以实现复杂表格显示和控制的具体方法。

关键词:Excel;C#;WebBrowser;复杂表格显示

中图分类号:TP301文献标识码:A文章编号:16727800(2013)004002602

0引言

在开发基于报表的管理信息系统时,用户可能会明确要求在窗体上显示他们自己设计的表格,而这些表格中大多包含有样式非常复杂的表格。此时,想利用C#中自带的表格控件实现需求几乎是不可能的。Excel是大众熟悉的电子表格处理软件,其报表处理能力和数据表现能力都非常强大,用其制作样式复杂的表格是一件非常简单的事情。如果能将Excel文件嵌入到C#语言开发的winform程序中,就可以非常容易地解决在窗体上显示复杂表格的需求,又能够实现让用户便捷地编辑数据和导出Excel文件等功能。

1实现思路

虽然Excel可以制作样式复杂的表格,但是软件系统的数据都被存放在数据库内,因此必须编写代码将数据库文件内的数据输出到Excel文件内,再将该Excel文件内容显示到窗体上就可以满足用户需求。具体实现思路如下:①按照用户设计的表格样式,用Excel制作表格模板文件;②为了不破坏模板文件,在使用文件之前,通过代码复制模板文件,以后的所有操作都在新文件上执行;③编写C#程序,通过http://www.doczj.com/doc/7c6e747d7375a417866f8fac.html技术从数据库内提取数据,向Excel文件的指定单元格输出数据并保存文件;④将Excel文件嵌入到窗体中,供用户浏览修改,并可以保存修改后的内容。

2C#中控制Excel文件的方法

2.1引用Excel类型库

在C#中控制Excel文件的前提是添加Excel的引用。根据计算机上安装的Excel软件版本的不同,组件名称和类型库的版本也不一样,此处Excel的版本为2003版本,因此COM组件名称为Microsoft Excel 11.0 Object Library。引用Excel类型库的具体操作方法为:①在解决方案资源管理器中,右击“引用”菜单项,选择“添加引用”;②在“添加引用”对话框中,选择

c# winform html 表,C# winform中嵌入Excel实现复杂表格的显示和控制相关推荐

  1. c# 火狐浏览器怎么嵌入窗体中_C#WinForm窗体内Panel容器中嵌入子窗体、程序主窗体设计例子...

    C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用 ...

  2. txt中的数据导入matlab中画图,excel怎样导入表格数据-如何将excel表格中大量数据导入matlab中并作图...

    Excel中如何将另一表格中的数据对应导入 1开表格,在上方功能栏点击据". 2.点入数据. 3.点击数据来源. 4择想要的导入的数据文件,就好了. 如何将TXT文档中的数据直接导入到Exc ...

  3. VB.NET在WinForm中嵌入谷歌浏览器_制作全屏显示网页程序_并读取INI配置文件_根据配置文件显示不同的网页---VB.NET工作笔记016

    我们做了个项目,科技馆的,需要把绚丽的网页,全屏放到浏览器上显示,但是....他们做的这个网页...我去,只支持谷歌这样的浏览器,在IE这样的浏览器模式下,显示有问题... 不知道是不是因为,没有使用 ...

  4. Winform中实现Excel导入、表格展示、多选获取值、生成二维码、打印流程(附代码下载)

    场景 整体流程需求 1.导入Excel并获取Excel的数.. 2.将Excel的数据复制给DataGridView中进行显示并能实现多选. 3.根据选中的内容生成二维码. 4.将二维码打印. 整体效 ...

  5. 网页中嵌入Excel控件

    前提, 客户端必须装windows office Excel,我机器上装的时office 2003,如果你机器装的是office 2007只要把 object id="_obj_Excel& ...

  6. 表格学生表html,js编程练习:制作一个表格,显示班级的学生信息。

    要求: 鼠标移到不同行上时背景色改为蓝色,移开鼠标时则恢复为原背景色 白色 点击添加按钮,能动态在最后添加一行 点击删除按钮,则删除当前行 new document window.onload = f ...

  7. java自动生成生成java透视表_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  8. 在WinForm应用程序中嵌入WPF控件(转)

      我们知道,在WPF界面上添加WinForm的控件需要使用WindowsFormHost类.而在WinForm界面上添加WPF控件该如何做呢?有没有类似的类呢?明显是有的,ElementHost就是 ...

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

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

最新文章

  1. opencv线性滤波(滤波与模糊的区别)
  2. fork() 成为负担,需要淘汰
  3. 世界盒子怎么调中文_正版游戏平台知识小科普:epic游戏怎么调中文?
  4. 写的很好!细数 Java 线程池的原理
  5. Kafka分区分配策略(Partition Assignment Strategy)
  6. winform能连MySQL吗_c# winform中怎么连接mysql
  7. 打开虚拟机磁盘类型无效_[图文]VMWARE虚拟机如何打开.VMDK格式的磁盘映像
  8. 详解预训练模型、信息抽取、文本生成、知识图谱、对话系统技术
  9. 13-union 、distinc、 join
  10. Javascript遍历map集合以及map对象
  11. 华为 ensp 下载安装
  12. 软件测试工程师面试技巧---问答篇
  13. 生产中使用ssh-copy-id复制公钥到多台服务器
  14. 带你了解ICCV、ECCV、CVPR三大国际会议
  15. 《算法笔记》——基础篇习题选择结构
  16. python中什么的布尔值不是false_不是python中的布尔值
  17. CrowdHuman数据集转成VOC格式并训练模型
  18. 贝叶斯估计(python 版)
  19. KISSY基础篇乄KISSY之DOM(1)
  20. C++的tie()函数

热门文章

  1. 自动拆箱时遇到的NPE问题
  2. 简约的爱情,丰味的咖啡
  3. Android jni知识点
  4. Android通讯录管理(获取联系人、通话记录、短信消息)
  5. MySQL ,ORACLE去重查询
  6. 【ogg】GoldenGate介绍
  7. MySQL最最基础篇
  8. python当前时间加一分钟,python 当前时间多加七天、一小时、一分钟
  9. μC/OS Ⅱ学习之 OSTaskCreate()
  10. java构造函数调用其他程序的顺序,java关于继承中构造函数的调用顺序