如何将EXCEL中的数据显示在DataGrid控件中?
大家帮帮忙吧,这个问题困扰我好久了,只能显示出DataGrid控件,EXCEL里面的数据就是连不上,请高手给个代码吧!急死了!在这里先谢了,编译成功的话,我会给高分的!
HELP!
问题点数:20、回复次数:2Top
1 楼fangxinggood(JustACoder)回复于 2006-12-01 14:30:19 得分 0
public DataSet GetDataSetFromExcel(string filePath)
{
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;";
strConn += "data source=" + filePath + ";";
strConn += "Extended Properties=Excel 8.0;";
//strConn += "HDR=Yes;IMEX=1";
OleDbConnection objConn = new OleDbConnection(strConn);
ArrayList SheetNameList = new ArrayList();
try
{
objConn.Open();
DataTable dtExcelSchema = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[]{null,null,null,"TABLE"});
string SheetName="";
for(int i=0;i<dtExcelSchema.Rows.Count;i++)
{
SheetName = dtExcelSchema.Rows[i]["TABLE_NAME"].ToString();
SheetNameList.Add( SheetName );
}
}
catch(Exception ex)
{
throw ex;
}
finally
{
objConn.Close();
}
DataSet dsExcel = new DataSet();
try
{
string strSql = "";
for(int i=0; i<SheetNameList.Count; i++)
{
//string strSql ="select * From [Sheet1$e5:g23]";
//string strSql ="select [F1],[F2],[F3] From [Sheet2$3:100] ";
strSql = "select * from [" + (string)SheetNameList[i] + "]";
OleDbDataAdapter oleExcelDataAdapter = new OleDbDataAdapter(strSql, objConn);
DataTable dtExcel = new DataTable((string)SheetNameList[i]);
oleExcelDataAdapter.Fill(dtExcel);
dsExcel.Tables.Add(dtExcel);
}
if( dsExcel.Tables["Sheet1$"].Rows[6]["F22"] == null )
MessageBox.Show("true");
return dsExcel;
}
catch(Exception ex)
{
throw ex;
}
}Top
2 楼wxllrt11(sky)回复于 2006-12-07 15:05:42 得分 0
谢谢,我后来实现了;真的非常感谢!Top





