zoukankan      html  css  js  c++  java
  • Excell向数据库导入数据问题

            /// <summary>
            /// 导入Excle主控方法
            /// </summary>
            private void ImportMain()
            {
                try
                {
                    OpenFileDialog openFileDialog = new OpenFileDialog();
                    openFileDialog.CheckFileExists = true;
                    openFileDialog.CheckPathExists = true;
                    openFileDialog.Filter = "excel filer(*.xls)|*.xls";
                    if (openFileDialog.ShowDialog() == DialogResult.OK)
                    {
                        //路径名
                        string pathName = openFileDialog.FileName;

                        DataTable dtOr = dt_jdsy.Clone();
                        dt_jdsy = ExcelOperation.ImportExcelToDataTable(pathName);

                        dtOr.TableName = dt_jdsy.TableName;
                        DataSet dsOr = new DataSet();
                        dsOr.Tables.Add(dtOr);

                        DataSet ds = new DataSet();
                        ds.Tables.Add(dt_jdsy.Copy());
                        dt_jdsy = GetDataSet(ds.GetXml(), dsOr.GetXmlSchema()).Tables[0];
                        gridControl1.DataSource = dt_jdsy;
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            public static System.Data.DataTable ImportExcelToDataTable(string Path)
            {
                System.Data.DataTable dtSource = new System.Data.DataTable();
                try
                {
                    string tableName = "";
                    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";
                    using (OleDbConnection conn = new OleDbConnection(strConn))
                    {
                        Workbook workbook = GetExcelObj(Path);
                        Worksheet woorksheet = (Worksheet)workbook.ActiveSheet;
                        tableName = woorksheet.Name;
                        workbook.Close(false, null, false);
                        conn.Open();
                        string strExcel = "";
                        strExcel = "Select * from [" + tableName + "$]";

                        OleDbDataAdapter myCommand = new OleDbDataAdapter(strExcel, strConn);
                        DataSet ds = new DataSet();
                        myCommand.Fill(ds, tableName);
                        dtSource = ds.Tables[tableName];
                    }
                }
                catch (OleDbException olex)
                {
                    throw new Exception("该Excel文件正在使用中...未能覆盖,请先关闭目标文件,重新导入!");
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    GC.Collect();
                    GC.WaitForPendingFinalizers();
                }
                return dtSource;
            }

  • 相关阅读:
    PyQt5使用http请求获取天气
    Qt获取某地的天气情况
    各种编码方式
    Qt获取天气信息并解析
    QFile读文件
    QUrl
    Android数据库升级、降级、创建(onCreate() onUpgrade() onDowngrade())的注意点
    adb命令开关蓝牙及NFC
    fragment重叠问题解决方法
    Android跨进程启动另外一个应用界面时存在的问题解决办法
  • 原文地址:https://www.cnblogs.com/xiaozhuaweiliang/p/123456ABC.html
Copyright © 2011-2022 走看看