您的位置:首页 > 编程语言 > C#

C#读取Excel文件:通过OleDb连接,把excel文件作为数据源来读取

2014-01-16 11:46 681 查看
转载于:http://developer.51cto.com/art/200908/142392.htm

C#读取Excel文件可以通过直接读取和OleDb连接,把excel文件作为数据源来读取;



C#读取Excel文件方法二:通过OleDb连接,把excel文件作为数据源来读取(这里是fill进dataset,也可以返回OleDbDataReader来逐行读,数据较快)

注:这种方法容易把混合型的字段作为null值读取进来,解决办法是改造连接字符串

通过Imex=1来把混合型作为文本型读取,避免null值,来实现C#读取Excel文件

staticDataSetimportExcelToDataSet(stringfilePath)
{
stringstrConn;
//strConn="Provider=Microsoft.Jet.Oledb.4.0;DataSource="+filePath+";ExtendedProperties='Excel8.0;HDR=Yes;IMEX=1;'";//此连接只能操作Excel2007之前(.xls)文件
strConn="Provider=Microsoft.Ace.OleDb.12.0;"+"datasource="+filePath+";ExtendedProperties='Excel12.0;HDR=Yes;IMEX=1'";//此连接可以操作.xls与.xlsx文件(支持Excel2003和Excel2007的连接字符串)
//备注:"HDR=yes;"是说Excel文件的第一行是列名而不是数据,"HDR=No;"正好与前面的相反。
//"IMEX=1"如果列中的数据类型不一致,使用"IMEX=1"可必免数据类型冲突。
OleDbConnectionconn=newOleDbConnection(strConn);
OleDbDataAdaptermyCommand=newOleDbDataAdapter("SELECT*FROM[Sheet1$]",strConn);
DataSetmyDataSet=newDataSet();
try
{
myCommand.Fill(myDataSet);
}
catch(Exceptionex)
{
thrownewException("该文件的工作表的名字不正确,"+ex.Message);
}
returnmyDataSet;
}





                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
章节导航