如何读取EXCEL到DataTable,需要从指定的行列读取

如题所述

public static DataSet ImportExcel(string file)
{
FileInfo fileInfo = new FileInfo(file);
if (!fileInfo.Exists)
return null;

string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
OleDbConnection objConn = new OleDbConnection(strConn);
DataSet dsExcel = new DataSet();
try
{
objConn.Open();
string strSql = "select TOP 10 * from [Sheet1$]"; //修改这条SQL,应该能实现从第几条到第几条
OleDbDataAdapter odbcExcelDataAdapter = new OleDbDataAdapter(strSql, objConn);
odbcExcelDataAdapter.Fill(dsExcel);
return dsExcel;
}
catch (Exception ex)
{
throw ex;
}
}
或者
private DataTable FromExcel()
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=lieche.xls;Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";//改变这sql语句取你需要的

OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, “lieche”);
OleConn.Close();
return OleDsExcle.table[0];
}
温馨提示:答案为网友推荐,仅供参考
相似回答