功能介绍:这个程序主要是WinForm下对Excel的各项操作
开发环境:
数据库:SQL 2005
开发工具:VS 2010 旗舰版
运行条件:
1.请首先执行程序下面的SQL语句文件,否则会创建不成功.
2.修改源码中的数据库连接字符串信息
作者:孤独求醉 QQ:125700652 欢迎参考并转载,但请注明出处,毕竟我也不容易
这里先对程序做一下简要的说明:
本程序界面比较简单 且按照由浅入深的顺序介绍Excel的各项操作
下载到本程序的朋友可以按从左到右的顺序点击按钮对功能进行查看
主要实现的功能:
1.如何打开Excel表格
2.如何在打开Excel表格的基础上插入数据,并对表格属性进行设置(如:内容居中,设置字体等)
3.如何把Excel表格中的内容读出并显示到DataGrid控件中
4.如何把Excel表格中的数据插入到SQL中(当然,首先您必须执行文件夹里面的那个SQL语句文件)
其中5.6是实际应用,用两种方法实现了WinForm下如何对比两个EXCEL表格数据
5.传统的方法
对比的Excel文件是:本运行程序下面的 textData.xls文件
要实现的功能就是对比sheet1和sheet2的数据
简单说下思路:
把sheet1中的数据放入DataTable中,然后再拿sheet2中的数据和DataTable中的数据循环进行对比.
6.把数据写入数据库再对其进行对比的方法
对比的Excel文件是:本运行程序下面的 ERP.xls和pegasus.xls文件
要实现的功能是:
先说下主要用到的数据:
pegasus P.O.#列(下面简称A1),Trading Company P.O.#(B1),Item #(C1),FOB(D1),Trading Co FOB(E1)
ERP PoNumber(A2),PoItem(B2),FOBPrice(C2)
问题:
1.B1列主要决定D1和E1的取值问题,如何B1列有值,则取E1列的值,丢掉D1列的值,否则取D1列的值,丢掉E1列的值
2.
拿A1和C1列与A2和B2列进行对比,
如果两者都相同,则拿C2与D1或E1进行对比(至于是D1还是E1请参考上面一条)
如果C2与后面对比的数值相同,则不做任何处理,
否则,则在ERP的15或16列上填上D1或E1的值
如果A1和C1列没有对应的A2和B2列
则不做任何记录
简单说下思路:
1.是把两个Excel表格中的数据写入到数据库中
2.用SQL语句查出符合结果的数据集(相当于得出满足条件的集合)
3.把SQL语句得出的结果集写回EXCEL文件中
就我个人而言:比较喜欢传统的比较方法,即直接进行对比的方法,虽然数据库在数据处理方面优势比较大,但如果按把EXCEL写入数据库的方法,有点不灵活,每次都得创建表,而且就执行速度而已,也会较传统的方法慢一点,因为要经历多个步骤吗(写入数据库,查询集合,写入EXCEL文件).但为什么我要写这种方法呢?这种方法主要是为了掌握数据库到EXCEL文件的方法.仅此而已
做这个程序的原由:
这个程序是师傅给我出的题目,自己一步一步走过来,从最开始对EXCEL操作一点都不懂,到现在算是对EXCEL操作基本OK,确实不容易.
对于比较EXCEL,我首先想到的方法是在一个EXCEL文件中取一个值就对比一次,这个方法虽然可以实现,但就执行效率来说,确实不敢恭
维.就拿比较ERP(315条记录)和pegasus(169条记录)的记录来说,大概需要花费(3分钟),这是无法忍受的.后面就想到是否是多次操作
文件造成执行时间过长,后面才改用把一个Excel表格中的数据写入DataTable中,然后再拿Excel中的数据与之对比.终于算是有了一定
的提高,时间大概是(1分30秒).为什么速度还是这么慢呢?应该还有更快的方法.分析,分析,再分析.终于找到问题所在,原来我还是没
有注意到顺序的问题,原来我的方法是拿DataTable中的数据与Excel中的数据进行对比,这明显不是我想要的.改程序,把取出来的
Excel循环语句写在前面,结果几分钟就可以搞定数据库对比.
结束语:
上面的程序算是对EXCEL操作有了一个大概的介绍,我没有写网上的OLEDB操作数据库的方法,有兴趣的朋友可以去网上查查,有很多.
当然,一个程序不可能把EXCEL操作的方方面面都写到,有兴趣致力于EXCEL操作的可以多找找其他方面的资料.当然,我也欢迎大家能与我进行交流,共同进步.我的联系方式上面已经给出.
如果有朋友想自己也敲一遍代码,请注意添加引用文件:Interop.Excel.dll,Interop.Microsoft.Office.Core.dll,这两个文件就不做别的介绍了,可以直接上网查找资料.还有需要注意的就是:如果在VS2010下开发该程序,请把上面提到的两个dll文件的嵌入互操作类型属性设置为false
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本程序主要以下功能: 1.如何打开Excel表格 2.如何在打开Excel表格的基础上插入数据,并对表格属性进行设置(如:内容居中,设置字体等) 3.如何把Excel表格中的内容读出并显示到DataGrid控件中 4.如何把Excel表格中的数据插入到SQL中(当然,首先您必须执行文件夹里面的那个SQL语句文件) 5和6 是实际应用 Excel的对比
资源推荐
资源详情
资源评论
收起资源包目录
WinForm下两个EXCEL表格对比.zip (34个子文件)
Sql语句.sql 1KB
WinForm下两个EXCEL表格对比
CompareExcelFile
Form1.cs 23KB
bin
Debug
textData.xls 17KB
Interop.Excel.dll 924KB
CompareExcelFile.pdb 36KB
text.xls 16KB
Interop.Microsoft.Office.Core.dll 400KB
ERP.xls 50KB
pegasus.XLS 48KB
CompareExcelFile.exe 21KB
CompareExcelFile.vshost.exe 11KB
CompareExcelFile.vshost.exe.manifest 490B
obj
x86
Debug
DesignTimeResolveAssemblyReferences.cache 4KB
CompareExcelFile.Form1.resources 180B
ResolveAssemblyReference.cache 23KB
CompareExcelFile.Properties.Resources.resources 180B
CompareExcelFile.pdb 36KB
GenerateResource.read.1.tlog 320B
DesignTimeResolveAssemblyReferencesInput.cache 6KB
CompareExcelFile.csproj.FileListAbsolute.txt 1KB
TempPE
GenerateResource.write.1.tlog 774B
CompareExcelFile.exe 21KB
Properties
Resources.Designer.cs 3KB
Settings.settings 249B
Resources.resx 5KB
Settings.Designer.cs 1KB
AssemblyInfo.cs 1KB
Program.cs 497B
Form1.Designer.cs 7KB
CompareExcelFile.csproj 4KB
Form1.resx 6KB
WinForm下两个EXCEL表格对比.sln 890B
WinForm下两个EXCEL表格对比.suo 21KB
ReadMe.txt 3KB
共 34 条
- 1
jimk5200
- 粉丝: 31
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页