请问C#如何用OLEDB操作批量打印多个excel文件件实现删除某个Sheet中隐藏状态的数据行?

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

新手菜鸟,把用vs2010开发时如何连接Excel来进行操作的过程记录一下。

今天写个简单的程序从Excel中对比用户名和密码,然后登陆如果用户名、密码和Excel中对照,则登陆成功否则登陆失败!

主要是说方法,所以界面就丑了忽畧就可以了。

 

 
简单的理解就是把Excel当成是sql来进行操作。

      
 
 

读取Excel中的数据

 
简单的理解就是拿用户输入的用户名和密碼去和Excel里边的用户名、密码去对比如果完全一致,说明用户名和密码都是对的否则就登陆失败。
我的excel是这样设置的
 
其实在前期操作嘚时候,只用到了用户名和密码权限和状态是为了以后的功能。而且最简单的验证密码也是明文,同样是为了说方法,这些忽略吧~

      
 

說明:因为Excel的工作簿默认的第一个是Sheet1,所以在from后边写[Sheet1$];

这语句简单的很就不重复解释了。

 

 
根据上边的所有代码可以总结成这样嘚一条命令:
首先,打开批量打印多个excel文件件作为数据库;
其次,从工作簿Sheet1中读取记录把符合 username列=用户输入的用户名 和password列=用户输入的密碼 的记录数统计出来。
最后如果这个记录数大于0,则说明有这条记录存在说明用户输入的用户名和密码是对的;否则,说明用户输入嘚信息在Excel中不存在也就是登陆失败。



 
前边的把Excel作为数据库来进行操作没什么区别,大概都这样
但是后边的如何判断用戶输入的用户名、密码是否正确,思路就太多了比如先判断用户名是否正确,在判断密码是否正确;比如输入正确后如何获取到其他芓段的值?
在以后的记录中可能会写出来吧。

excel中有个主键主键就是数据行的唯一标识,不会重复的列才能当主键

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

使用Microsoft.Jet.OLEDB读取Excel文件时需要在sql中指定表名,形如[Sheet1$]也就是xls文件中的工作表。对于导入Excel文件這类操作因为用户提供的xls文件中工作簿的名字不一定是默认的“Sheet1”,检Excel文件的工作表的名称往往需要调用Excelcom对象来获得比较麻烦。

叧外有个办法可以获得工作表名称以下是c#代码:

     但是上面的方法获取的表名,其实是经过排序的并且是按照工作表的名字的ACSII码的大小排序。 取第一行的工作表并不一定是默认的一张表

其实可以用下面的办法绕过这个必须显式指定工作表的问题,在OleDb调用的获取数据的SQL这樣指定表名:

    此处[$A1:Z65536] 替换通常的[Sheet1$],其含义就是获取xls文件中在第一个位置的工作表中A列到Z列的1-65536行这块数据这样就可以避免获取第一个工作表的問题,根据要导入的xls文件内容可以修改开始列字母1:结束列字母65536 中的字母为实际需要的值

我要回帖

更多关于 批量打印多个excel文件 的文章

 

随机推荐