C#.NET读取excel数据到datatable的问题

2024-11-01 00:24:31
推荐回答(3个)
回答(1):

DataTable dtGBPatient = new DataTable();
string
strConn;string excelName;

//注意:把一个excel文件看做一个数据库,一个sheet看做一张表。语法 "SELECT * FROM
[sheet1$]",表单要使用"[]"和"$"

//
1、HDR表示仔裂要把第一行作为数据还是作为列名,作为数据用HDR=no,作为列名用HDR=yes;
//
2、通过IMEX=1来念档闭把混合型作为文本型蠢察读取,避免null值。

strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='{0}';Extended
Properties='Excel
8.0;HDR=YES;IMEX=1';";

string strConnection = string.Format(strConn,
excelPath);

OleDbConnection conn = new
OleDbConnection(strConnection);

conn.Open();

OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + excelName +
"$]", strConnection);

dtGBPatient.TableName =
"gbPatientInfo";

oada.Fill(dtGBPatient);//获得datatable

conn.Close();

回答(2):

我看过你的代码,裤前御没有问题,
我已经将你的代码做成工程项目了(胡岩C#2005.net)
有需要可以下载回来对照
http://dl.dbank.com/c0pxah07z4#
至于你为什么会出错,请再检查一下数据源和代码。

【有疑问可以HI我,或追问,但请不要悔答关闭问题,谢谢!】

回答(3):

我有封装过读取excel到datatable的类
可以读取所有如轮的sheet,每没扒个sheet一个datatable, 放到dataset中
===============================================
需要就留邮箱枯橡昌,或者给我发封信: lincal_wlf@qq.com