您的位置:首页 > 其它

获取EXCEL里面的数据

2011-06-01 11:44 134 查看
/// <summary>
/// 获取 Excel 文件中指定索引的工作表名称
/// </summary>
/// <param name="filepath">Excel 的文件名</param>
/// <param name="sheetIndex">要获取的索引</param>
/// <returns></returns>
private string GetExcelSheetNameByIndex(String filepath, int sheetIndex)
{
string connectionString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=/"Excel 8.0;HDR=Yes;IMEX=1/";", filepath);
using (OleDbConnection conn = new OleDbConnection(connectionString))
{
conn.Open();
DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
return schemaTable.Rows.Count > sheetIndex
? schemaTable.Rows[sheetIndex]["TABLE_NAME"].ToString().Trim()
: String.Empty;
}
}

/// <summary>
/// 获取导入的Excel内容,放在DataSet中
/// </summary>
public DataSet GetExcelContent(string filepath)
{
string sheetName = this.GetExcelSheetNameByIndex(filepath, 0);
string strCon = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" + filepath + "; Extended Properties=/"Excel 8.0; HDR=No; IMEX=1;/"";
System.Data.OleDb.OleDbConnection myConn = new System.Data.OleDb.OleDbConnection(strCon);
string strCom = "SELECT distinct * FROM " + "[" + sheetName + "]";
myConn.Open();
System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, myConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet, "[" + sheetName + "]");
myConn.Close();
myConn.Dispose();
return myDataSet;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: