导入excel到DataSet,整数列导入后得到的类型却始终是Double,如何得到int型? 5
通过以下方法导入Excel得到DataSet:stringstrConn="provider=Microsoft.Jet.OLEDB.4.0;datasource="+s...
通过以下方法导入Excel得到DataSet:
string strConn = "provider=Microsoft.Jet.OLEDB.4.0;data source=" + sourceFile + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';";
oleConn = new System.Data.OleDb.OleDbConnection(strConn);
oleDa = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", oleConn);
其中某几列的数据是int型的,导入后得到的列类型却始终是Double,如何在excel中设置以得到int型?理论上应该可以通过设置Excel来达到目的,可是已经试过列的属性和有效性之类的都不行,而且不希望在得到DataSet后再做类型转换。请高手指点,谢谢!
可能是我没说清楚。补充一下问题产生的原因:这个导入是个公用方法,实际业务需要将许多不同的excel文件数据导入不同的数据库实体表中,而这些表结构等对这个导入方法来说是不可知的。我现在希望通过针对不同的表结构分别设定各自的Excel模板,用户只需要在模板中按要求填入数据即可,我的代码能省则省,而且写多了也不灵活。实际测试下来发现导入后凡是整数列类型都成了Double,而对应的实体表中是int,我希望能通过设置Excel模板使得导入后得到的直接就是int,这就是问题所在。谢谢! 展开
string strConn = "provider=Microsoft.Jet.OLEDB.4.0;data source=" + sourceFile + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';";
oleConn = new System.Data.OleDb.OleDbConnection(strConn);
oleDa = new System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", oleConn);
其中某几列的数据是int型的,导入后得到的列类型却始终是Double,如何在excel中设置以得到int型?理论上应该可以通过设置Excel来达到目的,可是已经试过列的属性和有效性之类的都不行,而且不希望在得到DataSet后再做类型转换。请高手指点,谢谢!
可能是我没说清楚。补充一下问题产生的原因:这个导入是个公用方法,实际业务需要将许多不同的excel文件数据导入不同的数据库实体表中,而这些表结构等对这个导入方法来说是不可知的。我现在希望通过针对不同的表结构分别设定各自的Excel模板,用户只需要在模板中按要求填入数据即可,我的代码能省则省,而且写多了也不灵活。实际测试下来发现导入后凡是整数列类型都成了Double,而对应的实体表中是int,我希望能通过设置Excel模板使得导入后得到的直接就是int,这就是问题所在。谢谢! 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询