C#读取Excel问题,在线等

来源:百度知道 编辑:UC知道 时间:2024/06/21 22:00:30
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Extended Properties=\"Excel 8.0;HDR=NO\";" +
"data source=" + strpath;

string sql = "SELECT * FROM [Sheet1$]";
DataSet ds1 = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(sql, connStr);
da.Fill(ds1);
da.Dispose();
da = null;
return ds1;

请问我如果不知道Sheet1的名字怎办?
string sql = "SELECT * FROM [{0}]";报异常~
没办法用表索引么?

晕~你不知道表名如何导出呢?
最好是用datalist来导出.

当然不能用表索引了。

SQL SERVER 也不支持表索引啊, 别说 EXCEL 了

Datatable tblSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
string firstSheetName = tblSchema.Rows[0]["TABLE_NAME"].ToString();
firstSheetName 就是Excel中第一张表的名称

可以使用.NET里相关的EXCEL控件。推荐一个aspose.cells
读取写入都很方便。

不知道sheet名字那怎么行啊,如果用循环所有的sheet表的话,可能可以根据读到的数据来确认sheet名,那样也行

有方法可以读出所有的表 名