Пример #1
0
 void UCDictionaryAddOrEdit_ExportEvent(object sender, EventArgs e)
 {
     try
     {
         string dir = Application.StartupPath + @"\ExportFile";
         if (!Directory.Exists(dir))
         {
             Directory.CreateDirectory(dir);
         }
         SaveFileDialog sfd = new SaveFileDialog();
         sfd.InitialDirectory = dir;
         sfd.Title            = "导出文件";
         sfd.DefaultExt       = "xls";
         sfd.Filter           = "Microsoft Office Excel 文件(*.xls;*.xlsx)|*.xls;*.xlsx|Microsoft Office Excel 文件(*.xls)|*.xls|Microsoft Office Excel 文件(*.xlsx)|*.xlsx";
         sfd.FileName         = dir + @"\字典码表" + DateTime.Now.ToString("yyyy-MM-dd") + ".xls";
         DialogResult result = sfd.ShowDialog();
         if (result == DialogResult.OK)
         {
             int totalCount = 0;
             PercentProcessOperator process = new PercentProcessOperator();
             #region 匿名方法,后台线程执行完调用
             process.BackgroundWork =
                 delegate(Action <int> percent)
             {
                 DataTable dt = DBHelper.GetTable("查询码表", "v_dictionaries", "*", where, "", "order by dic_code");
                 totalCount = dt.Rows.Count;
                 dt         = ExcelHandler.HandleDataTableForExcel(dt, dgvDicList);
                 ExcelHandler.ExportDTtoExcel(dt, "", sfd.FileName, percent);
             };
             #endregion
             process.MessageInfo = "正在执行中";
             process.Maximum     = totalCount;
             #region 匿名方法,后台线程执行完调用
             process.BackgroundWorkerCompleted += new EventHandler <BackgroundWorkerEventArgs>(
                 delegate(object osender, BackgroundWorkerEventArgs be)
             {
                 if (be.BackGroundException == null)
                 {
                     MessageBoxEx.ShowInformation("导出成功!");
                 }
                 else
                 {
                     Utility.Log.Log.writeLineToLog("【字典码表】" + be.BackGroundException.Message, "client");
                     MessageBoxEx.ShowWarning("导出出现异常");
                 }
             }
                 );
             #endregion
             process.Start();
         }
     }
     catch (Exception ex)
     {
         Utility.Log.Log.writeLineToLog("【字典码表】" + ex.Message, "client");
         MessageBoxEx.ShowWarning("导出失败!");
     }
 }
Пример #2
0
        public void StartReadThread()
        {
            PercentProcessOperator process = new PercentProcessOperator();

            process.BackgroundWork             = this.SetInMemory;
            process.MessageInfo                = "正在读取Excel文件中";
            process.BackgroundWorkerCompleted += new EventHandler <BackgroundWorkerEventArgs>(process_BackgroundWorkerCompleted);
            process.Start();
        }
Пример #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            PercentProcessOperator process = new PercentProcessOperator();

            process.BackgroundWork             = this.DoWithProcess;
            process.MessageInfo                = "正在执行中";
            process.BackgroundWorkerCompleted += new EventHandler <BackgroundWorkerEventArgs>(process_BackgroundWorkerCompleted);
            process.Start();
        }
Пример #4
0
        public void StartReadThread()
        {
            ImportFileOri      = @"D:\ForthunisoftHr\zli_1987_2012.10.29v2\zli_1987_2012.10.29\zli_1987_2012.10.29\zli_1987_13196\zli_1987\OverTimeStatistics\材料\加班申请列表_201209原始表 最终排序后.xls";
            ImportFileNameList = @"D:\ForthunisoftHr\zli_1987_2012.10.29v2\zli_1987_2012.10.29\zli_1987_2012.10.29\zli_1987_13196\zli_1987\OverTimeStatistics\材料\公司员工重名名单20120903.xls";

            PercentProcessOperator process = new PercentProcessOperator();

            process.BackgroundWork             = this.DoWorkCalThread;
            process.MessageInfo                = "正在读取Excel文件中";
            process.BackgroundWorkerCompleted += new EventHandler <BackgroundWorkerEventArgs>(process_BackgroundWorkerCompleted);
            process.Start();
        }
Пример #5
0
        /// <summary> 导出excel
        /// </summary>
        /// <param name="fileName">文件名</param>
        /// <param name="dt">数据表</param>
        /// <returns>错误信息</returns>
        public static string ExportExcel(string fileName, DataTable dt)
        {
            string errMsg = string.Empty;
            string dir    = Application.StartupPath + @"\ExportFile";

            if (!Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }
            SaveFileDialog sfd = new SaveFileDialog();

            sfd.InitialDirectory = dir;
            sfd.Title            = "导出文件";
            sfd.DefaultExt       = "xls";
            sfd.Filter           = "Microsoft Office Excel 文件(*.xls;*.xlsx)|*.xls;*.xlsx|Microsoft Office Excel 文件(*.xls)|*.xls|Microsoft Office Excel 文件(*.xlsx)|*.xlsx";
            sfd.FileName         = dir + @"\" + fileName;
            DialogResult result = sfd.ShowDialog();

            if (result == DialogResult.OK)
            {
                PercentProcessOperator process = new PercentProcessOperator();
                #region 匿名方法,后台线程执行调用
                process.BackgroundWork =
                    delegate(Action <int> percent)
                {
                    ExcelHandler.ExportDTtoExcel(dt, "", sfd.FileName, percent);
                };
                #endregion
                process.MessageInfo = "正在执行中";
                process.Maximum     = dt.Rows.Count;
                #region 匿名方法,后台线程执行完调用
                process.BackgroundWorkerCompleted += new EventHandler <BackgroundWorkerEventArgs>(
                    delegate(object osender, BackgroundWorkerEventArgs be)
                {
                    if (be.BackGroundException == null)
                    {
                        MessageBoxEx.ShowInformation("导出成功!");
                    }
                    else
                    {
                        throw be.BackGroundException;
                    }
                }
                    );
                #endregion
                process.Start();
            }
            return(errMsg);
        }
Пример #6
0
 //导出
 void UCReceivableManage_ExportEvent(object sender, EventArgs e)
 {
     try
     {
         string dir = Application.StartupPath + @"\ExportFile";
         if (!Directory.Exists(dir))
         {
             Directory.CreateDirectory(dir);
         }
         SaveFileDialog sfd = new SaveFileDialog();
         sfd.InitialDirectory = dir;
         sfd.Title            = "导出文件";
         sfd.DefaultExt       = "xls";
         sfd.Filter           = "Microsoft Office Excel 文件(*.xls;*.xlsx)|*.xls;*.xlsx|Microsoft Office Excel 文件(*.xls)|*.xls|Microsoft Office Excel 文件(*.xlsx)|*.xlsx";
         sfd.FileName         = dir + @"\" + Title + DateTime.Now.ToString("yyyy-MM-dd") + ".xls";
         DialogResult result = sfd.ShowDialog();
         if (result == DialogResult.OK)
         {
             string    strWhere = GetWhere();
             DataTable dt       = DBHelper.GetTable("查询" + Title, "tb_bill_receivable", "*", strWhere, "", "order by create_time desc");
             if (dt == null || dt.Rows.Count == 0)
             {
                 MessageBoxEx.ShowInformation("没有可导出的数据!");
                 return;
             }
             dt.DataTableToDate("order_date");
             if (orderType == DataSources.EnumOrderType.RECEIVABLE)
             {
                 dt.DateTableToEnum("payment_type", typeof(DataSources.EnumReceivableType));
             }
             else
             {
                 dt.DateTableToEnum("payment_type", typeof(DataSources.EnumPaymentType));
             }
             dt.DateTableToEnum("order_status", typeof(DataSources.EnumAuditStatus));
             PercentProcessOperator process = new PercentProcessOperator();
             #region 匿名方法,后台线程执行完调用
             process.BackgroundWork =
                 delegate(Action <int> percent)
             {
                 dt = ExcelHandler.HandleDataTableForExcel(dt, dgvBillReceivable);
                 ExcelHandler.ExportDTtoExcel(dt, "", sfd.FileName, percent);
             };
             #endregion
             process.MessageInfo = "正在执行中";
             process.Maximum     = dt.Rows.Count;
             #region 匿名方法,后台线程执行完调用
             process.BackgroundWorkerCompleted += new EventHandler <BackgroundWorkerEventArgs>(
                 delegate(object osender, BackgroundWorkerEventArgs be)
             {
                 if (be.BackGroundException == null)
                 {
                     MessageBoxEx.ShowInformation("导出成功!");
                 }
                 else
                 {
                     Utility.Log.Log.writeLineToLog("【" + Title + "】" + be.BackGroundException.Message, "client");
                     MessageBoxEx.ShowWarning("导出出现异常");
                 }
             }
                 );
             #endregion
             process.Start();
         }
     }
     catch (Exception ex)
     {
         Utility.Log.Log.writeLineToLog("【" + Title + "】" + ex.Message, "client");
         MessageBoxEx.ShowWarning("导出失败!");
     }
 }