C#读取Excel 2003/2007的文件(注意连接字符串)
以讀取access數據集的方式讀取 ?
For excel 2007:
??? private DataSet GetExcelData(string str)
??? {
??????? string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + str + ";Extended Properties=\"Excel 12.0;HDR=YES\"";
??????? OleDbConnection myConn = new OleDbConnection(strCon);
??????? string strCom = " SELECT * FROM [Sheet1$]";
??????? myConn.Open();
??????? OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
??????? DataSet myDataSet = new DataSet();
??????? myCommand.Fill(myDataSet, "[Sheet1$]");
??????? myConn.Close();
??????? return myDataSet;
??? }
For excel2003:
連接字符串改為:
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ="+str+";Extended Properties=Excel 8.0";
?
?
/// <summary>?
/// 讀取Excel文檔?
/// </summary>?
/// <param name="Path">文件名稱</param>?
/// <returns>返回一個數據集</returns>?
public DataSet ExcelToDS(string Path)?
{?
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";?
OleDbConnection conn = new OleDbConnection(strConn);?
conn.Open();?
string strExcel = "";?
OleDbDataAdapter myCommand = null;?
DataSet ds = null;?
strExcel="select * from [sheet1$]";?
myCommand = new OleDbDataAdapter(strExcel, strConn);?
ds = new DataSet();?
myCommand.Fill(ds,"table1");?
return ds;?
}?
/// <summary>?
/// 寫入Excel文檔?
/// </summary>?
/// <param name="Path">文件名稱</param>?
public bool SaveFP2toExcel(string Path)?
{?
try?
{?
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";?
OleDbConnection conn = new OleDbConnection(strConn);?
conn.Open();?
System.Data.OleDb.OleDbCommand cmd=new OleDbCommand ();?
cmd.Connection =conn;?
//cmd.CommandText ="UPDATE [sheet1$] SET 姓名='2005-01-01' WHERE 工號='日期'";?
//cmd.ExecuteNonQuery ();?
for(int i=0;i<fp2.Sheets [0].RowCount -1;i++)?
{?
if(fp2.Sheets [0].Cells[i,0].Text!="")?
{?
cmd.CommandText ="INSERT INTO [sheet1$] (工號,姓名,部門,職務,日期,時間) VALUES('"+fp2.Sheets [0].Cells[i,0].Text+ "','"+?
fp2.Sheets [0].Cells[i,1].Text+"','"+fp2.Sheets [0].Cells[i,2].Text+"','"+fp2.Sheets [0].Cells[i,3].Text+?
"','"+fp2.Sheets [0].Cells[i,4].Text+"','"+fp2.Sheets [0].Cells[i,5].Text+"')";?
cmd.ExecuteNonQuery ();?
}?
}?
conn.Close ();?
return true;?
}?
catch(System.Data.OleDb.OleDbException ex)?
{?
System.Diagnostics.Debug.WriteLine ("寫入Excel發生錯誤:"+ex.Message );?
}?
return false;?
}
轉載于:https://www.cnblogs.com/kevin1988/p/3508165.html
總結
以上是生活随笔為你收集整理的C#读取Excel 2003/2007的文件(注意连接字符串)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Session丢失,都是CDN惹的祸
- 下一篇: ajax+struts2实现总结