string strConn = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " + "c:\\Excel.xls" + "; Extended Properties = 'Excel 8.0;HDR = Yes;IMEX = 1'";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
//返回架构
System.Data.DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[]{null,null,null,"Table"});
for(int k = 0;k < dtSheetName.Rows.Count;k++)
{
if(dtSheetName.Rows[k]["TABLE_NAME"].ToString().EndsWith("Print_Area"))
{ Console.WriteLine(dtSheetName.Rows[k]["TABLE_NAME"].ToString());
}
}
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
//返回架构
System.Data.DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[]{null,null,null,"Table"});
for(int k = 0;k < dtSheetName.Rows.Count;k++)
{
if(dtSheetName.Rows[k]["TABLE_NAME"].ToString().EndsWith("Print_Area"))
{ Console.WriteLine(dtSheetName.Rows[k]["TABLE_NAME"].ToString());
}
}
你的代码我试过了,没有出错,但是也什么都没有显示,不知道为什么??
for(int k = 0;k < dtSheetName.Rows.Count;k++)
{
Console.WriteLine("Table Name"+k);
Console.WriteLine(dtSheetName.Rows[k]["TABLE_NAME"].ToString());
}
结果显示有一个表名是重复的一个有$一个没有$
Table Name0
Sheet1$
Table Name1
结果
Table Name2
结果$
不明白为什么“结果”会有两个??
for(int k = 0;k < dtSheetName.Rows.Count;k++)
{
if(!dtSheetName.Rows[k]["TABLE_NAME"].ToString().EndsWith("Print_Area"))
{ Console.WriteLine(dtSheetName.Rows[k]["TABLE_NAME"].ToString());
}
Sheet1$
结果
结果$
就是sheet的名称
而Sheet1就只有一个
我正愁怎么从WEB里面导入到数据库呢?