个人开发历程知识库

关注C++/Java/C#技术, 致力于安防监控/移动应用/WEB方面开发
------------------------------------ 业精于勤,荒于嬉;行成于思,毁于随
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C# WinForm开发系列 - Excel

Posted on 2009-07-06 00:34  peterzb  阅读(33519)  评论(7编辑  收藏  举报

01. 仅使用Dataset导入数据到Excel

[翻译]

Senthil S著Export data to Excel using Dataset only

[简介]

当前,网上已经有了不少的导入数据到Excel文件的方法,不过大部分都比较复杂,它们大多采用Datagrid DataTable。本文将介绍一种最简单的方法:仅使用Dataset 导出数据到Excel。

[背景]

从代码使用的简单性角度,使用Dataset是非常方便的。不过如果从代码优化的角度而言,就不再适合了:)

02. 快速保存ListView内存中大量数据到Excel

快速保存ListView内存中大量数据到Excel
Fast Save data from ListView to Excel WorkSheet
remex1980 原创于 2007-5-19 19:59:27
原作者: remex1980


image
简介

本文描述如何快速保存ListView内存中大量数据到Excel的WorkSheet。关键之处是使用Range一次存储多行多列数据。

03. 纯C#代码的Excel读取器(不需要Office Excel Com组件)

[翻译]
Liu Junfeng著Excel Reader

[简介]

这个链接库是基于以下几篇文章编写出来的,非常感谢它们的作者:

复合文档格式
Excel文件格式
微软Office 97绘图文件格式

本文涉及了BIFF8/BIFF8X格式下的记录结构。


功能

1. 读出在工作簿(workbook)中的所有Worksheet
2. 读出所有WorkSheet中的单元
3. 读取单元的内容(文本,数字,日期或错误)
4. 读取单元的格式(字体,对齐,线条类型,背景等)
5. 够读取文件中的图片,获取图象的大小,位置,数据和格式

04. Excel批量数据合并(C#操作Excel文件)

用途:

帮辅导员填一个数据调查表,1个xls文件,有10个worksheet,每个中有10-40项数据要填写,每个班有37个人,学院有24个班。如果逐个人填写需要很多时间。

可以将表格同时发给每个人,然后各自填好了一起发回来,放在同一个目录或其它位置,用此程序引入,然后做好设置,点批处理,稍后即可得到一个合并后的文件。

截图

#表示自动识别行数和列数。

编程:

将操作Excel的代码封装在类中,可以通过调用类的方法实现各种操作,类可以同时打开几个Excel文件,在内部相互赋值。

默认的1-10个Worksheet是因为帮我们辅导员的作的表格是12个表单,前10个表示需要汇总的,后两个表是编码表,不可以修改,程序也支 持1-#的自动判断,不过这时是1-12,会改变编码表1和编码表2的内容,但辅导员吵着说麻烦,就1-10设成默认属性了,这样她单击一次导入就可以 了……也是为了适应特殊要求

开启高级时
基准行数值——以某行非空内容判断列宽
基准列数值——以某列非空条件判断记录数

行范围2-#表示从第二行起到最后一行。

有待改进的内容:

1. 取消掉最大化按钮,并禁止窗体改变大小。或者重新设计界面可以适应窗体变化的。
2. 保存为:输入框最好加一个保存文件对话框之类的。
3. 程序编写时没处理异常。
4. 界面美化
5. 添加关于、帮助
6. 其他人性化功能
     (1)判断表结构,提供建议配置方案
     (2)判断导入列表中数据结构一致,如果不一致提示是否强制合并
     (3)再次打开时使用上次的设置

05. 通过文件结构直接生成xls文件

直接通过excel可以识别的文件结构生成xls文件的方法,这样就可以不引用麻烦的ole了

06. 通过excel可识别的xml结构直接生成xls文件

上一片文章演示了如何根据简单的excel文件结构直接生成xls文件,如果涉及到合并,公式之类的复杂操作,可以使用xml结构来直接构造xls文件,比如生成如下所示文件

 

07.  ASP导出Excel数据的四种方法

08.  用asp.net调用excel并输出的一点经验

09.  ASP操作Excel技术总结

10.  随心所欲  excel集成种种

最近有些项目在做集成,和Excel之类的。所遇到的问题如下:

Win下如何操作

如何处理Excel进程

如何制作AddIn

如何在Web中应用

其他.. 

11. c# 实现Word联接Excel的MailMerge功能

12. 用 XmlReader 读取 Excel 2007 文件

13. OpenXML: excel 插入BarChart图表

14. VSTO---excel编程 [待续] [12月5日更新,详见文档下面]

15. ADO.NET 如何读取 Excel (上)

16. ADO.NET 如何读取 Excel (下)

17. 导出excel的另外一种方法

18. Lullaby's Blog 原创 使用oledb,将excel导入 dataset

本方法,将传入的 Excel文件内所有的Sheet内的数据都填充入DataSet中。这是一个简单快捷的方法,不足之处是不适合带有格式的 Excel。阅读全文

19.  原创 怎么由DataSet将数据导入Excel?

本文介绍如何将DataSet 里的数据快速的导入Excel中。 阅读全文

20. KissKnife C#中对Excel的操作

21. 如何在 Microsoft Visual C# .NET 中实现 Microsoft Excel 自动化

22. Excel 对象模型概述

23. Cure C#操作Excel开发报表系列整理

     摘要: C#操作Excel进行报表开发系列共写了八篇,也已经有很久没有新东西了,现在整理一下,方便以后查阅,如果有写新的,会同时更新。  阅读全文

目前的商业工具如水晶报表,ActiveReport等,都提供了灵活,强大的功能,但是对于比较特殊化的表格,特别是国内的一些应用,都是一个个的格子组成的,这样要是用线来一根根画就比较麻烦,但是这类工具还都不提供表格化的报表布局定义方式。一个很好的选择是VS2005的客户端报表(RDLC),但是在某几个方面还是不够灵活,例如,灵活性有限制,要想自己编码实现一些复杂逻辑还是有困难;要VS2005,对于一些还在使用VS2003的项目就只有眼馋的份了。用Excel来实现,优点在于页面布局设计灵活,同时使用代码来操作数据要更灵活,更精确。

 

C#操作Excel进行报表开发系列共写了八篇,也已经有很久没有新东西了,现在整理一下,方便以后查阅,如果有写新的,会同时更新。
需要注意的是因为Office的版本不同,实际的代码可能会有所不同,但是都是多几个,少几个参数,补上参数System.Reflection.Missing.Value就可以了

将Excel应用于报表开发中(一)--开始

使用C#和Excel进行报表开发(二)-操作统计图(Chart)

使用C#和Excel进行报表开发(三)-生成统计图(Chart)

使用C#和Excel进行报表开发(四)-复制单元格

使用C#和Excel进行报表开发(五)-操作单元格边框和颜色

使用C#和Excel进行报表开发(六)-操作行和列

使用C#和Excel进行报表开发(七)-设置单元格的显示格式

使用C#和Excel进行报表开发(八)-用程序绑定数据源

24. (原创)datagrid数据导出到excel文件给客户端下载的几种方法

25. 特别推荐:纯VB.NET代码直接生成Excel文件(不需要Excel

26. DataGrid 导出到 Excel 的帮助类

27. 用完Excel组件后 如何彻底关闭Excel进程

28. 也谈SQL Server表与Excel、Access数据互导

29. 关于在ASP.NET中以DCOM方式操作Excel的几个问题

30. SQL SERVER 与ACCESS、EXCEL的数据转换

31. Excel导出方法总结篇

32. 如何将 Excel 数据导入 SQL Server

33. 打开一个Excel模板文件填充数据另存为一个文件

34. 我写的Asp.net操作Excel的一个类库ExcelHelper(源码下载)

35. 使用ADO.net转换数据到Excel格式并提供下载

36. asp.net操作Excel总结

37. 关于asp.net导出Excel

38. C# 操作 Excel

39. Excel与VBA程序设计》下载

40. 学习Excel技巧

41. Excel中使用VBA来筛选数据

42. DOI获得Excel选中CELL的数据

43. Excel编程

44. 如何在Form中嵌入Excel

45. 关于通过COM自动化调用Excel的效率问题

46. 基于EXCEL的WEB报表输出组件

47. 最近一直在做C#操作office方面的工作!总结一下!(一)Excel

48. asp.net里导出excel表方法汇总

49. Excel单元格的合并

50. Excel中将连续多列相同数据项合并