zoukankan      html  css  js  c++  java
  • 将Excel表格导入DataTable的方法

    一、把DataTable插入数据库
    public static void DataTableToDB()
    {
          string _strExcelFileName = @"D:/example.xls";
          DataTable dtExcel = ExcelToDataTable(_strExcelFileName,"Sheet1");
          for (int i = 0; i < dtExcel.Rows.Count; i++)
          {
               InsertDataToAccess(dtExcel.Rows[i][0].ToString(), float.Parse(dtExcel.Rows[i][1].ToString()));
          }
    }

    二、把Excel数据读入DataTable
    public static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)
    {
          string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" +"Extended Properties=Excel 5.0;";
          string strExcel = string.Format("select * from [{0}$]", strSheetName);
          DataSet ds = new DataSet();

          using (OleDbConnection conn = new OleDbConnection(strConn))
          {
               conn.Open();
               OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
               adapter.Fill(ds, strSheetName);
               conn.Close();
          }

          return ds.Tables[strSheetName];
    }

    三、向Access数据库表插入数据
    public static void InsertDataToAccess(string _strPara,float _fPara)
    {
          OleDbConnection oleDbConn = new OleDbConnection();
          oleDbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/ExcelData.mdb;User Id=admin;Password=;";
          oleDbConn.Open();

          string strInsertString = "INSERT INTO tb_excelData (strCollumn1,fCollumn2) VALUES (@strCollumn1,@fCollumn2)";
          OleDbCommand oComm = new OleDbCommand(strInsertString, oleDbConn);
          oComm.Parameters.Add("@strCollumn1", OleDbType.Char , 50);
          oComm.Parameters["@strCollumn1"].Value = _strPara;
          oComm.Parameters.Add("@fCollumn2", OleDbType.Double);
          oComm.Parameters["@fCollumn2"].Value = _fPara;
         
          ocomm.ExecuteNonQuery();
          oleDbConn.Close();
    }

  • 相关阅读:
    HDU2206:IP的计算
    HDU 2054 A == B ?A
    怎样确定循环节
    Python和Java编程题(二)
    Python和Java编程题(一)
    Java中的静态变量、静态方法问题
    快速排序的Java和python实现,亲测实际可用
    Java和Python分别实现直接选择排序
    Python和Java分别实现冒泡排序
    JavaScript(第十六天)【BOM基础】
  • 原文地址:https://www.cnblogs.com/yja9010/p/3178811.html
Copyright © 2011-2022 走看看