• 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;
            }

  • 相关阅读:
    java — 排序算法
    sping框架(3)— 使用spring容器
    java — 线程池
    一致性哈希算法(consistent hashing)
    linux进程调度
    滑动窗口协议
    final和static关键字
    II 3.1 连接到服务器
    intel-hadoop/HiBench流程分析----以贝叶斯算法为例
    Android开发学习之路--基于vitamio的视频播放器(二)
  • 原文地址:https://www.cnblogs.com/xiaozhuaweiliang/p/123456ABC.html
Copyright © 2020-2023  润新知