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("导出失败!"); } }
public void StartReadThread() { PercentProcessOperator process = new PercentProcessOperator(); process.BackgroundWork = this.SetInMemory; process.MessageInfo = "正在读取Excel文件中"; process.BackgroundWorkerCompleted += new EventHandler <BackgroundWorkerEventArgs>(process_BackgroundWorkerCompleted); process.Start(); }
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(); }
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(); }
/// <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); }
//导出 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("导出失败!"); } }