第一次寫C#與sql的東西,主要任務是從Excel讀取數據,再存到SQL server中。sql
先上讀取Excel文件的code以下。ide
public bool GetFiles(string equipName) { //choose all sheet? or all data in sheet? string strExcel = "select * from [Sheet1$]"; //初始化system.IO的配置(路徑) DirectoryInfo directoryInfo1 = new DirectoryInfo(WPath + equipName + "\\Working"); //用文件流來獲取文件夾中全部文件,存放到 FileInfo[] files1 = directoryInfo1.GetFiles(); foreach (FileInfo file in files1) // Directory.GetFiles(srcFolder) { // 鏈接到excel 數據源, xlsx要用ACE string strConn = ("Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source= " + file.FullName + "; Extended Properties='Excel 12.0';"); OleDbConnection OledbConn = new OleDbConnection(strConn); if (IsUsed(file.FullName)) { flag = IsUsed(file.FullName); continue; } try { OledbConn.Open(); // 存入datatable OleDbDataAdapter dAdapter = new OleDbDataAdapter(strExcel, strConn);
//寫入ds中的一個table dAdapter.Fill(ds); OledbConn.Dispose(); OledbConn.Close(); } catch (Exception ex) { } } }
foreach用於遍歷全部Excel文件;ui
strExcel用於選擇Excel文件中sheet的內容,select * 表示選取sheet中全部行和列;spa
strConn用於設置讀取的方法,provider的設置很重要,ACE表示最新的.xlsx文件,jet 表示讀取.xls文件,二者有點區別,DataSource表示文件名,包括路徑。excel
OleDbDataAdapter 用於按(命令)去執行填充dataset的功能code