C#中将Excel表导入到数据库中。现在想要一个写好的类,我在按钮的单击事件中调用它的方法就行。 10
说一下我想实现的功能,就是点击按钮,弹出选择文件页面,找到要导入的文件,点击“开始”,即开始导入Excel表数据,此时会有部分时间的后台操作,待数据完成导入时会弹出“导入...
说一下我想实现的功能,就是点击按钮,弹出选择文件页面,找到要导入的文件,点击“开始”,即开始导入Excel表数据,此时会有部分时间的后台操作,待数据完成导入时会弹出“导入成功”提示(npoi或者sql语句导入都行)
展开
1个回答
展开全部
想法是好的,现实是残酷的。
有两种途径,
1: MSSQL 2005之后就支持EXCEL同步导入, 通过SQL Server ManagementStudio的导入即可实现,即MSSQL自带你要的这个 “点击文件,建表,传数据“的功能,但是MSDN了一下,好像并没有开放出来接口供C#编程使用, 所以这个方法只适合那些可以操作SQL SERVER的情况。
2:写一个类,来完成你要的功能,但是约束条件很多,
原理很简单, EXCEL就是基本的表格结构,
1》读EXCEL, 遍历sheet ,拿到sheet名 当做表名,
2》读某个sheet,第一行遍历单元格,当做表头,SQL建表。
3》循环第二列到最后一列,挨个取值,然后insert到数据库里对应的表对应的列。
但是由于EXCEL的随意性,有很多问题是无法解决的,比如数据的类型,是否可空,是否违反已有的约束,等等等,会导致你的程序出现问题。
因此,一般EXCEL导入都会专门写一个方法,(毕竟代码就那么几十行),而不用专门去封装一个类。
有两种途径,
1: MSSQL 2005之后就支持EXCEL同步导入, 通过SQL Server ManagementStudio的导入即可实现,即MSSQL自带你要的这个 “点击文件,建表,传数据“的功能,但是MSDN了一下,好像并没有开放出来接口供C#编程使用, 所以这个方法只适合那些可以操作SQL SERVER的情况。
2:写一个类,来完成你要的功能,但是约束条件很多,
原理很简单, EXCEL就是基本的表格结构,
1》读EXCEL, 遍历sheet ,拿到sheet名 当做表名,
2》读某个sheet,第一行遍历单元格,当做表头,SQL建表。
3》循环第二列到最后一列,挨个取值,然后insert到数据库里对应的表对应的列。
但是由于EXCEL的随意性,有很多问题是无法解决的,比如数据的类型,是否可空,是否违反已有的约束,等等等,会导致你的程序出现问题。
因此,一般EXCEL导入都会专门写一个方法,(毕竟代码就那么几十行),而不用专门去封装一个类。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |