读书人

读取exl出错 外部表不是预期的格式,该

发布时间: 2012-04-15 18:39:21 作者: rapoo

读取exl出错 外部表不是预期的格式
外部表不是预期的格式。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 外部表不是预期的格式。

源错误:


行 31:
行 32: conn = new OleDbConnection(connString);
行 33: if (conn.State == ConnectionState.Closed || conn.State == ConnectionState.Broken) conn.Open();
行 34: //返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等
行 35: DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" });


源文件: f:\dailys\daily\UI\txt\Uploat.aspx.cs 行: 33


[code=C#][/code]

public DataSet ExecleDs(string filenameurl, string table)
{
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
OleDbConnection conn = new OleDbConnection(strConn);

OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Book$]", conn);
DataSet ds = new DataSet();
odda.Fill(ds, table);
conn.Close();
return ds;
}



[解决办法]
excel另存一下试试
[解决办法]
EXCEL格式不对..你的可能是CSV格式的.
[解决办法]
EXCEL规则么。
有合并单元格之类的东西没。

C# code
 DataTable Excel_UserInfo = new DataTable();string strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileInfo.FullName + ";" + "Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1;\"";                string strExcel = "select * from [sheet1$]";                using (OleDbDataAdapter adaptor = new OleDbDataAdapter(strExcel, strConn))                {                    DataSet ds = new DataSet();                    adaptor.Fill(ds);                    Excel_UserInfo = ds.Tables[0];                }
[解决办法]
excel中是不是有表头或者合并列,这样的话会出现列错误,单纯复制里面的内容到一个新的工作区试试

读书人网 >asp.net

热点推荐