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的功能

posted @ 2021-03-04 15:21  PoweredByMyself  阅读(949)  评论(0编辑  收藏  举报