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


  第一次寫C#與sql的東西,主要任務是從Excel讀取數據,再存到SQL server中。

  先上讀取Excel文件的code如下。

        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文件;

strExcel用於選擇Excel文件中sheet的內容,select * 表示選取sheet中所有行和列;

strConn用於設置讀取的方法,provider的設置很重要,ACE表示最新的.xlsx文件,jet 表示讀取.xls文件,兩者有點區別,DataSource表示文件名,包括路徑。

OleDbDataAdapter 用於按(命令)去執行填充dataset的功能


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM