C#连接Excel读取与写入数据库SQL ( 上 )

  • A+
所属分类:.NET技术
摘要

  第一次写C#与sql的东西,主要任务是从Excel读取数据,再存到SQL server中。

  第一次写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的功能