猜想-未做 利用office组件读取excel数据

时间:2024-10-26 21:04:50

---未实际使用过

用SQL-Server访问Office的Access和Excel

http://blog.sina.com.cn/s/blog_964237ea0101532x.html

2007 Office system 驱动程序:数据连接组件

http://www.microsoft.com/zh-CN/download/details.aspx?id=23734

2007 Office system 驱动程序:数据连接组件
详情
版本:All
File Name:AccessDatabaseEngine.exe
出版日期:2007/3/6
File Size:25.4 MB
此下载将安装一组组件,非 Microsoft Office 应用程序可以使用它们从 2007 Office system 文件中读取数据,例如从 Microsoft Office Access 2007(mdb 和 accdb)文件以及 Microsoft Office Excel 2007(xls、xlsx 和 xlsb)文件中读取数据。这些组件还支持与 Microsoft Windows SharePoint Services 和文本文件建立连接。 此外,还会安装 ODBC 和 OLEDB 驱动程序,供应用程序开发人员在开发与 Office 文件格式连接的应用程序时使用。
/// <summary>
/// 读取Excel数据
/// </summary>
/// <param name="filename"></param>
/// <param name="table"></param>
/// <param name="Type"></param>
/// <returns></returns>
public DataTable ExecleDs(string filename, string table, string Type)
{
string strConn = "";
if (Type.Equals(".xls"))
{
strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filename +
";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
}
//else if (Type.Equals(".xlsm"))
//{
// strConn = "Provider=Microsoft.Ace.OleDb.12.0; Data Source=" + filename + "; Extended Properties='Excel 12.0 Macro;HDR=YES'";
//} else
{
strConn = "Provider=Microsoft.Ace.OleDb.12.0;Data Source=" + filename +
";Extended Properties='Excel 12.0 Xml; HDR=YES; IMEX=1'";
} OleDbConnection conn;
DataSet ds = new DataSet();
conn = new OleDbConnection(strConn);
if(conn.State== ConnectionState.Closed){ conn.Open();}
OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
odda.Fill(ds, table);
conn.Close(); return dt;//ds.Tables[0];
}