取出Excel中的数据,就像是取数据库数据一样简单
流程页一样,
首先,你要链接Excel表
filepath是Excel的名字;
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + "; Extended Properties='Excel 8.0;HDR=YES;IMEX=1;'";
就像是数据库的(server=.;database=wer;pwd=sa;user =sd)一样
在然后就是取数据,
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
DataSet ds = null;
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
string SheetName = dt.Rows[0]["TABLE_NAME"].ToString(); //这里就是取得表的名字了
strExcel = "select * from [" + StringHelper.Filter(SheetName) + "]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, "table1");
myCommand.Dispose();
conn.Close();
取出数据放到一个DATATABLE中,在然后就不用多说了,
其中在你链接Excel中可能你会遇到问题,如下
1、说什么不是外部表预期格式
这个好解决,就是你的Excel哪个文件不是纯正的.xls文件。你只要在链接之前在另存为一下.xls文件格式就OK了
2、你的Microsoft Excel 是2003还是2005还是2008,等等,之类的,
那你就的注意,在链接之前strConn 链接Excel表格中注意写法
这个你就要看着写了