protected override ResultStatus Export() { if (!StartExport()) { return(ResultStatus.Fail); } try { string lsYM = emMonth.Text.Replace("/", "").SubStr(0, 6); DataTable dt = dao70030.ListAll(lsYM); if (dt.Rows.Count <= 0) { MessageDisplay.Info(MessageDisplay.MSG_NO_DATA); return(ResultStatus.Fail); } /******************* * 點選儲存檔案之目錄 *******************/ //檔名 = 報表型態(起-迄).xls saveFilePath = PbFunc.wf_GetFileSaveName($"dgbas({emMonth.Text.Replace("/", "").SubStr(0, 6)}).xls"); if (string.IsNullOrEmpty(saveFilePath)) { return(ResultStatus.Fail); } /******************* * 轉統計資料RAM1 *******************/ string reResult = dao70030.Sp_H_stt_RAM1(lsYM); if (reResult == "0") { SaveExcel(dt, saveFilePath, DocumentFormat.Xls); } else { throw new Exception("執行SP(sp_H_stt_RAM1)錯誤!"); } } catch (Exception ex) { File.Delete(saveFilePath); WriteLog(ex); return(ResultStatus.Fail); } finally { EndExport(); } return(ResultStatus.Success); }
protected override ResultStatus Export() { ExportShow.Text = "轉檔中..."; ExportShow.Show(); FooterMemo = ""; string destinationFilePath = PbFunc.wf_GetFileSaveName(_ProgramID + "_" + DateTime.Now.ToString("yyyy.MM.dd-HH.mm.ss")); string txtFilePath = Path.Combine(GlobalInfo.DEFAULT_EXCEL_TEMPLATE_DIRECTORY_PATH, _ProgramID + ".txt"); DataTable dtSource = (DataTable)gcExport.DataSource; try { gvExport.Columns["PROD_ID"].SortOrder = DevExpress.Data.ColumnSortOrder.Ascending; gcExport.ExportToXlsx(destinationFilePath); Workbook workbook = new Workbook(); workbook.LoadDocument(destinationFilePath); Worksheet worksheet = workbook.Worksheets[0]; worksheet.ScrollTo(0, 0); worksheet.Rows.Insert(0); worksheet.Cells[0, 7].Value = labTime.Text; using (TextReader tr = new StreamReader(txtFilePath, System.Text.Encoding.Default)) { string line = ""; int startRow = dtSource.Rows.Count + 3; while ((line = tr.ReadLine()) != null) { worksheet.Cells[startRow, 0].Value = line; FooterMemo += line + Environment.NewLine; startRow++; } } workbook.SaveDocument(destinationFilePath); } catch (Exception ex) { ExportShow.Text = "轉檔失敗"; WriteLog(ex); } ExportShow.Text = "轉檔成功!"; return(ResultStatus.Success); }
private bool StartExport() { /* 條件值檢核*/ string lsRtn; DialogResult liRtn; if (rgTime.EditValue.Equals("rb_market1")) { lsRtn = "1"; } else { lsRtn = "0"; } //檢查批次作業是否完成 lsRtn = PbFunc.f_get_jsw_seq(_ProgramID, "E", 0, emEndDate.Text.AsDateTime(), "0");//f_get_jsw_seq(is_txn_id,'E',0,datetime(date(em_edate.text)),'0') if (lsRtn != "") { liRtn = MessageBox.Show(emEndDate.Text + " 統計資料未轉入完畢,是否要繼續?\r\n" + lsRtn, GlobalInfo.QuestionText, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (liRtn == DialogResult.No) { stMsgTxt.Visible = false; this.Cursor = Cursors.Arrow; return(false); } } //檢查日期是否符合DateTime型別 if (!emStartDate.IsDate(emStartDate.Text, CheckDate.Start) || !emEndDate.IsDate(emEndDate.Text, CheckDate.End)) { return(false); } if (string.Compare(emStartDate.Text, emEndDate.Text) > 0) { MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif); return(false); } //TextBox轉DateTime DateTime ldStart = Convert.ToDateTime(emStartDate.Text); DateTime ldEnd = Convert.ToDateTime(emEndDate.Text); //資料來源選取 string lsType; if (rgData.EditValue.Equals("rb_mmk")) { lsType = "_M"; } else { lsType = ""; } /*點選儲存檔案之目錄*/ switch (rgTime.EditValue) { case "rb_market0": lsRtn = "_ 一般"; break; case "rb_market1": lsRtn = "_ 盤後"; break; default: lsRtn = "_ 全部"; break; } //選取儲存路徑 saveFilePath = PbFunc.wf_GetFileSaveName($@"MarketMaker{lsType}_{lsRtn}-{ldStart.ToString("yyyyMMdd")}-{ldEnd.ToString("yyyyMMdd")}.xlsx"); if (string.IsNullOrEmpty(saveFilePath)) { return(false); } /******************* * Messagebox *******************/ stMsgTxt.Visible = true; stMsgTxt.Text = "開始轉檔..."; this.Cursor = Cursors.WaitCursor; this.Refresh(); Thread.Sleep(5); return(true); }
private bool StartExport() { /* 條件值檢核*/ DateTime ldStart, ldEnd; string lsType = ""; switch (rgDate.EditValue) { case "rb_day": //週 if (!emStartDate.IsDate(emStartDate.Text, CheckDate.Start) || !emEndDate.IsDate(emEndDate.Text, CheckDate.End)) { return(false); } if (string.Compare(emStartDate.Text, emEndDate.Text) > 0) { MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif); return(false); } ldStart = Convert.ToDateTime(emStartDate.Text); ldEnd = Convert.ToDateTime(emEndDate.Text); startYMD = emStartDate.Text.Replace("/", "").SubStr(0, 8); endYMD = emEndDate.Text.Replace("/", "").SubStr(0, 8); lsType = "Day"; sumType = "D"; logText = ldStart.ToString("yyyy.MM.dd") + "至" + ldEnd.ToString("yyyy.MM.dd") + " 交易量"; break; case "rb_week": //週 if (!emStartDate1.IsDate(emStartDate1.Text, CheckDate.Start) || !emEndDate1.IsDate(emEndDate1.Text, CheckDate.End)) { return(false); } if (string.Compare(emStartDate1.Text, emEndDate1.Text) > 0) { MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif); return(false); } ldStart = Convert.ToDateTime(emStartDate1.Text); ldEnd = Convert.ToDateTime(emEndDate1.Text); startYMD = emStartDate1.Text.Replace("/", "").SubStr(0, 8); endYMD = emEndDate1.Text.Replace("/", "").SubStr(0, 8); lsType = "Week"; sumType = "D"; logText = ldStart.ToString("yyyy.MM.dd") + "至" + ldEnd.ToString("yyyy.MM.dd") + " 交易量"; break; case "rb_month": //月 string emSmth = emStartMth.Text + "/01"; string emEmth = emEndMth.Text + "/01"; if (!emStartMth.IsDate(emSmth, CheckDate.Start) || !emEndMth.IsDate(emEmth, CheckDate.End)) { return(false); } ldStart = Convert.ToDateTime(emSmth); ldEnd = PbFunc.relativedate(Convert.ToDateTime(emEmth), 31); if (ldEnd.Month != PbFunc.Right(emStartMth.Text, 2).AsInt()) { ldEnd = PbFunc.relativedate(ldEnd, -ldEnd.Day); } startYMD = emStartMth.Text.Replace("/", "").SubStr(0, 6); endYMD = emEndMth.Text.Replace("/", "").SubStr(0, 6); lsType = "Month"; sumType = "M"; logText = startYMD + "至" + endYMD + " 交易量"; break; case "rb_year": //年 startYMD = emStartYear.Text; endYMD = emEndYear.Text; lsType = "Year"; sumType = "Y"; logText = startYMD + "至" + endYMD + " 交易量"; break; default: break; } saveFilePath = _ProgramID + "_" + lsType + "(" + startYMD + "-" + endYMD + ")"; //期別 switch (rgPeriod.EditValue) { case "rb_txw"://一週到期契約 lsKindId2 = "TXW%"; saveFilePath = saveFilePath + "W"; break; case "rb_txo"://一般天期契約 lsKindId2 = "TXO%"; saveFilePath = saveFilePath + "S"; break; default://所有天期契約 lsKindId2 = "%"; break; } /*點選儲存檔案之目錄*/ saveFilePath = PbFunc.wf_GetFileSaveName(saveFilePath + ".csv"); if (string.IsNullOrEmpty(saveFilePath)) { return(false); } /******************* * Messagebox *******************/ st_msg_txt.Visible = true; st_msg_txt.Text = "開始轉檔..."; st_msg_txt.Text = logText + " 轉檔中..."; this.Cursor = Cursors.WaitCursor; this.Refresh(); Thread.Sleep(5); return(true); }
private bool StartExport() { /* 條件值檢核*/ DateTime ldStart, ldEnd; string lsType = ""; switch (rgDate.EditValue) { case "rb_day": //週 if (!emStartDate.IsDate(emStartDate.Text, CheckDate.Start) || !emEndDate.IsDate(emEndDate.Text, CheckDate.End)) { return(false); } if (string.Compare(emStartDate.Text, emEndDate.Text) > 0) { MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif); return(false); } ldStart = Convert.ToDateTime(emStartDate.Text); ldEnd = Convert.ToDateTime(emEndDate.Text); lsSymd = emStartDate.Text.Replace("/", "").SubStr(0, 8); lsEymd = emEndDate.Text.Replace("/", "").SubStr(0, 8); lsType = "Daily"; sumType = "D"; logText = ldStart.ToString("yyyy.MM.dd") + "至" + ldEnd.ToString("yyyy.MM.dd") + " 交易量"; break; case "rb_week": //週 if (!emStartDate1.IsDate(emStartDate1.Text, CheckDate.Start) || !emEndDate1.IsDate(emEndDate1.Text, CheckDate.End)) { return(false); } if (string.Compare(emStartDate1.Text, emEndDate1.Text) > 0) { MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif); return(false); } ldStart = Convert.ToDateTime(emStartDate1.Text); ldEnd = Convert.ToDateTime(emEndDate1.Text); lsSymd = emStartDate1.Text.Replace("/", "").SubStr(0, 8); lsEymd = emEndDate1.Text.Replace("/", "").SubStr(0, 8); lsType = "Weekly"; sumType = "D"; logText = ldStart.ToString("yyyy.MM.dd") + "至" + ldEnd.ToString("yyyy.MM.dd") + " 交易量"; break; case "rb_month": //月 string Smth = this.emStartMth.Text + "/01"; string Emth = this.emEndMth.Text + "/01"; if (!this.emStartMth.IsDate(Smth, CheckDate.Start) || !this.emEndMth.IsDate(Emth, CheckDate.End)) { return(false); } ldStart = Convert.ToDateTime(Smth); ldEnd = PbFunc.relativedate(Convert.ToDateTime(Emth), 31); if (ldEnd.Month != PbFunc.Right(emStartMth.Text, 2).AsInt()) { ldEnd = PbFunc.relativedate(ldEnd, -ldEnd.Day); } lsSymd = emStartMth.Text.Replace("/", "").SubStr(0, 6); lsEymd = emEndMth.Text.Replace("/", "").SubStr(0, 6); lsType = "Monthly"; sumType = "M"; logText = lsSymd + "至" + lsEymd + " 交易量"; break; case "rb_year": //年 lsSymd = emStartYear.Text; lsEymd = emEndYear.Text; lsType = "Yearly"; sumType = "Y"; logText = lsSymd + "至" + lsEymd + " 交易量"; break; default: break; } //商品別 if (rbTMU.EditValue.Equals("rb_options")) { lsType = lsType + "_OPT"; lsProdType = "O"; } else { lsType = lsType + "_FUT"; lsProdType = "F"; } //ids_1.dataobject = "d_"+gs_txn_id if (cbxEng.Checked) { lsType = lsType + "_eng"; } //交易時段 switch (rgTime.EditValue) { case "rb_market0": lsMarketCode = "0"; lsType = lsType + "_day"; break; case "rb_market1": lsMarketCode = "1"; lsType = lsType + "_night"; break; default: lsMarketCode = "%"; break; } /*點選儲存檔案之目錄*/ saveFilePath = PbFunc.wf_GetFileSaveName(lsType + "(" + lsSymd + "-" + lsEymd + ").csv"); if (string.IsNullOrEmpty(saveFilePath)) { return(false); } /******************* * Messagebox *******************/ stMsgTxt.Visible = true; stMsgTxt.Text = "開始轉檔..."; stMsgTxt.Text = logText + " 轉檔中..."; this.Cursor = Cursors.WaitCursor; this.Refresh(); Thread.Sleep(5); return(true); }