1、读取.xls中所有sheet的name
public static string[] GetSheetNames(string filePath)
{
List<string> sheetNames=new List<string>();
OleDbConnection objConn = null;
DataTable dt = null;
try
{
String connString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source='" + filePath + "';Extended Properties=Excel 8.0;";
objConn = new OleDbConnection(connString);
objConn.Open();
dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (dt == null)
{
return null;
}
foreach (DataRow dr in dt.Rows)
{
sheetNames.Add(dr["TABLE_NAME"].ToString());
}
return sheetNames.ToArray();
}
catch (Exception ex)
{
throw;
}
}
2、将单个sheet插入数据库对应表中
public static void InsertXLSToDB(SqlConnection sqlConn,string filePath, string sheetName,string tableName)
{
string strSql = "INSERT [" + tableName + "] SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=" + filePath + ",[" + sheetName + "];";
try
{
SqlCommand sqlComm = new SqlCommand(strSql, sqlConn);
sqlComm.ExecuteNonQuery();
}
catch (Exception ex)
{
throw;
}
}