日期:2014-05-17 浏览次数:20634 次
public DataSet Execl()
{
DataTable dt=GetSchemaTableName();
ArrayList list = new ArrayList();
foreach (DataRow item in dt.Rows)
{
list.Add(item["TABLE_NAME"].ToString());
}
DataSet Myds = new DataSet();
OleCon.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + ";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'";
OleCon.Open();
OleCmd.CommandText = "select * from [" + list[0] + "]";
OleCmd.Connection = OleCon;
OleDa.SelectCommand = OleCmd;
//DataTable dt = new DataTable();
try
{
//OleCon.ConnectionString = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + FileName + ";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'";
OleDa.Fill(Myds, "Execl");
return Myds;
//OleCon.Open();
//dt = OleCon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
//return dt;
}
catch(Exception e)
{
return Myds;
//return dt;
}
finally
{
OleCon.Close();
OleCmd.Dispose();
OleDa.Dispose();
OleCon.Dispose();
}
Public DataSet ds(){
string type2 = fu_fileuplaod.FileName;
var type3 = type2.Substring(type2.LastIndexOf('.'));
if (!type3.Equals(".xls") && !type3.Equals(".xlsx"))
{
RegisterScriptAlert("上传excel文档的格式与所要求的格式不一致");
return;
}
string newName = Server.MapPath("..//App_Data//Uploads//") + DateTime.Now.ToString("hhmmss") + ".xls";
fu_fileuplaod.SaveAs(newName);
string connStr = string.Empty;
if (type3.Equals(".xlsx"))
{
connStr = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + newName +
";Extended Properties='Excel 12.0 Xml; HDR=YES; IMEX=1'";
}
else if (type3.Equals(".xls"))
{
connStr = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + newName +
";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
}
OleDbConnection conn = new OleDbConnection(connStr);
if (conn.State.ToString() == "Closed")
{
conn.Open();
}
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
ArrayList list = new ArrayList();
foreach (DataRow item in dt.Rows)
{
list.Add(item["TABLE_NAME"].ToString());
}
var str11 = "select * from [" + list[0] + "]";
OleDbDataAdapter oda = new OleDbDataAdapter(str11, conn);
DataSet ds = new DataSet();
oda.Fill(ds);
conn.Close();
File.Delete(newName)
}
------解决方案--------------------
注意access权限设置
------解决方案--------------------
可能是Excel连接字符串写错了