C#鏈接Excel讀取與寫入數據庫SQL ( 上 )

  第一次寫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

相關文章
相關標籤/搜索