public ActionResult ExportData_View(decimal pAppHeaderId, string p_appCode, decimal p_View_Translate) { try { string language = AppsCommon.GetCurrentLang(); App_Detail_PLB01_SDD_BL objBL = new App_Detail_PLB01_SDD_BL(); ApplicationHeaderInfo applicationHeaderInfo = new ApplicationHeaderInfo(); App_Detail_PLB01_SDD_Info app_Detail = new App_Detail_PLB01_SDD_Info(); List <AppFeeFixInfo> appFeeFixInfos = new List <AppFeeFixInfo>(); List <AppDocumentInfo> appDocumentInfos = new List <AppDocumentInfo>(); app_Detail = objBL.GetByID(pAppHeaderId, language, ref applicationHeaderInfo, ref appDocumentInfos, ref appFeeFixInfos); AppsCommon.Prepare_Data_Export_3B(ref app_Detail, applicationHeaderInfo, appDocumentInfos); List <App_Detail_PLB01_SDD_Info> _lst = new List <App_Detail_PLB01_SDD_Info>(); _lst.Add(app_Detail); DataSet _ds_all = ConvertData.ConvertToDataSet <App_Detail_PLB01_SDD_Info>(_lst, false); //_ds_all.WriteXml(@"C:\inetpub\B01.xml", XmlWriteMode.WriteSchema); CrystalDecisions.CrystalReports.Engine.ReportDocument oRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); string _datetimenow = DateTime.Now.ToString("ddMMyyyyHHmm"); string _tempfile = "TM_PLB01SDD.rpt"; string fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "B01_VN_" + _datetimenow + ".pdf"); if (p_View_Translate == 1) { // nếu là tiếng việt thì xem bản tiếng anh và ngược lại if (applicationHeaderInfo.Languague_Code == Language.LangVI) { _tempfile = "TM_PLB01SDD_EN.rpt"; // tiếng anh fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "B01_EN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "B01_EN_" + _datetimenow + ".pdf"; } else { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "B01_VN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "B01_VN_" + _datetimenow + ".pdf"; } } else { if (applicationHeaderInfo.Languague_Code == Language.LangVI) { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "B01_VN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "B01_VN_" + _datetimenow + ".pdf"; } else { _tempfile = "TM_PLB01SDD_EN.rpt"; // tiếng anh fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "B01_EN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "B01_EN_" + _datetimenow + ".pdf"; } } oRpt.Load(Path.Combine(Server.MapPath("~/Report/"), _tempfile)); if (_ds_all != null) { _ds_all.Tables[0].TableName = "Table"; // đè các bản dịch lên if (p_View_Translate == 1) { // nếu là bản xem của thằng dịch App_Translate_BL _App_Translate_BL = new App_Translate_BL(); List <App_Translate_Info> _lst_translate = _App_Translate_BL.App_Translate_GetBy_AppId(pAppHeaderId); AppsCommon.Overwrite_DataSouce_Export(ref _ds_all, _lst_translate); } oRpt.Database.Tables["Table"].SetDataSource(_ds_all.Tables[0]); //oRpt.SetDataSource(_ds_all); } oRpt.Refresh(); Response.Buffer = false; Response.ClearContent(); Response.ClearHeaders(); System.IO.Stream oStream = oRpt.ExportToStream(ExportFormatType.PortableDocFormat); byte[] byteArray = new byte[oStream.Length]; oStream.Read(byteArray, 0, Convert.ToInt32(oStream.Length - 1)); System.IO.File.WriteAllBytes(fileName_pdf, byteArray.ToArray()); // Requires System.Linq return(Json(new { success = 0 })); } catch (Exception ex) { Logger.LogException(ex); return(Json(new { success = 0 })); } }
protected void btn_Ok_Click(object sender, EventArgs e) { pcode = ddl_plantcode.SelectedItem.Value; getdeductiondetail(); MemoryStream oStream; // using System.IO oStream = (MemoryStream) cr.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); Response.Clear(); Response.Buffer = true; Response.ContentType = "application/pdf"; Response.BinaryWrite(oStream.ToArray()); Response.End(); }
private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel;charset='utf-8'"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": //string s_par_Program_ID = this.PageCode; string Login_Name = ((DataTable)Session["UserInfo"]).Rows[0]["Name"].ToString(); string s_par_Program_ID = "MKT11"; string s_par_LoginUser = Session["UID"].ToString() + " " + Login_Name; string s_par_Vendor = SLP_Vendor.Text + " " + SLP_Vendor.Name; string s_par_RootNo = SLP_RootNo_S.Text + " " + SLP_RootNo_S.Name +" ~ " + SLP_RootNo_E.Text + " " + SLP_RootNo_E.Name; string s_par_PMA = SLP_PMA_S.Text + " " + SLP_PMA_S.Name + " ~ " + SLP_PMA_E.Text + " " + SLP_PMA_E.Name; string s_par_Category = SLP_Category_S.Text + " " + SLP_Category_S.Name + " ~ " + SLP_Category_E.Text + " " + SLP_Category_E.Name; string s_par_SortOut = SLP_SortOut_S.Text + " " + SLP_SortOut_S.Name + " ~ " + SLP_SortOut_E.Text + " " + SLP_SortOut_E.Name; string s_par_Item = SLP_SKU.Text + " " + SLP_SKU.Name; string s_par_Period = SLP_ItemPeriod.Text; string s_par_PeriodCount = SLP_SLPNumber.Text; string s_par_Order =""; if ( ddl_Order.SelectedValue=="1"){ s_par_Order = "期別降冪"; } else if ( ddl_Order.SelectedValue=="2"){ s_par_Order = "期別升冪"; } report.SetParameterValue("par_Program_ID", s_par_Program_ID); report.SetParameterValue("par_LoginUser", s_par_LoginUser); report.SetParameterValue("par_Vendor", s_par_Vendor); report.SetParameterValue("par_RootNo", s_par_RootNo); report.SetParameterValue("par_PMA", s_par_PMA); report.SetParameterValue("par_Category", s_par_Category); report.SetParameterValue("par_SortOut", s_par_SortOut); report.SetParameterValue("par_Item", s_par_Item); report.SetParameterValue("par_Period", s_par_Period); report.SetParameterValue("par_PeriodCount", s_par_PeriodCount); report.SetParameterValue("par_Order", s_par_Order); System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; } }
/// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> /// /// <param name="reportFormatType">檔案型態</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); string par_ProgramID = string.Empty; string par_LoginUser = string.Empty; #region 前置檢查與參數過濾 string par_S_PDate = this.SLP_SLPDateRange.StartDate; string par_E_PDate = this.SLP_SLPDateRange.EndDate; string par_BatchNo = this.txtBatchNo.Text; string par_ChanNo = this.SLP_StoreChain.Text + " " + this.SLP_StoreChain.Name; string par_ChanSourceNo = this.txtChanSourceNo.Text; string par_S_SignDate = this.SLP_SignDate.StartDate; string par_E_SignDate = this.SLP_SignDate.EndDate; string par_Item = this.SLP_SKU.Text + " " + this.SLP_SKU.Name; string par_Period = this.SLP_ItemPeriod.Text + " " + this.SLP_ItemPeriod.Name; string par_ItemMap = this.txtItemMap.Text; par_ProgramID = this.PageCode; par_LoginUser = Session["UID"].ToString(); #endregion #region 組合查詢條件至ArrayList ArrayList returnList = new ArrayList(); returnList.Clear(); report.SetParameterValue("par_S_PDate", par_S_PDate); report.SetParameterValue("par_E_PDate", par_E_PDate); report.SetParameterValue("par_BatchNo", par_BatchNo); report.SetParameterValue("par_ChanNo", par_ChanNo); report.SetParameterValue("par_ChanSourceNo", par_ChanSourceNo); report.SetParameterValue("par_S_SignDate", par_S_SignDate); report.SetParameterValue("par_E_SignDate", par_E_SignDate); report.SetParameterValue("par_Item", par_Item); report.SetParameterValue("par_Period", par_Period); report.SetParameterValue("par_ItemMap", par_ItemMap); report.SetParameterValue("par_ProgramID", par_ProgramID); report.SetParameterValue("par_LoginUser", par_LoginUser); #endregion //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; } }
/// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> /// /// <param name="reportFormatType">檔案型態</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); string par_ProgramID = string.Empty; string par_LoginUser = string.Empty; #region 前置檢查與參數過濾 string par_S_Vendor = this.SLP_VendorBaseS.Text + " " + this.SLP_VendorBaseS.Name; string par_E_Vendor = this.SLP_VendorBaseE.Text + " " + this.SLP_VendorBaseE.Name; string par_S_PMA = this.SLP_PMAS.Text + " " + this.SLP_PMAS.Name; string par_E_PMA = this.SLP_PMAE.Text + " " + this.SLP_PMAE.Name; string par_S_RootNo = this.SLP_RootNoS.Text + " " + this.SLP_RootNoS.Name; string par_E_RootNo = this.SLP_RootNoE.Text + " " + this.SLP_RootNoE.Name; string par_S_LocateNo = this.SLP_SimpleLocateSec1.Text1 + " " + this.SLP_SimpleLocateSec1.Name; string par_E_LocateNo = this.SLP_SimpleLocateSec2.Text1 + " " + this.SLP_SimpleLocateSec2.Name; string par_S_LocateSec = SLP_SimpleLocateSec1.Text2.Trim() != "" ? this.SLP_SimpleLocateSec1.Text1 + SLP_SimpleLocateSec1.Text2 : ""; string par_E_LocateSec = SLP_SimpleLocateSec2.Text2.Trim() != "" ? this.SLP_SimpleLocateSec2.Text1 + SLP_SimpleLocateSec2.Text2 : ""; string par_Item = this.SLP_SKU.Text + " " + this.SLP_SKU.Name; string par_Period = this.SLP_ItemPeriod.Text + " " + this.SLP_ItemPeriod.Name; par_ProgramID = this.PageCode; par_LoginUser = Session["UID"].ToString(); #endregion #region 組合查詢條件至ArrayList ArrayList returnList = new ArrayList(); returnList.Clear(); report.SetParameterValue("par_S_Vendor", par_S_Vendor); report.SetParameterValue("par_E_Vendor", par_E_Vendor); report.SetParameterValue("par_S_PMA", par_S_PMA); report.SetParameterValue("par_E_PMA", par_E_PMA); report.SetParameterValue("par_S_RootNo", par_S_RootNo); report.SetParameterValue("par_E_RootNo", par_E_RootNo); report.SetParameterValue("par_S_LocateNo", par_S_LocateNo); report.SetParameterValue("par_E_LocateNo", par_E_LocateNo); report.SetParameterValue("par_S_LocateSec", par_S_LocateSec); report.SetParameterValue("par_E_LocateSec", par_E_LocateSec); report.SetParameterValue("par_Item", par_Item); report.SetParameterValue("par_Period", par_Period); report.SetParameterValue("par_ProgramID", par_ProgramID); report.SetParameterValue("par_LoginUser", par_LoginUser); #endregion //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; } }
private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel;charset='utf-8'"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": //string s_par_Program_ID = this.PageCode; string Login_Name = ((DataTable)Session["UserInfo"]).Rows[0]["Name"].ToString(); string s_par_Program_ID = "MKT10"; string s_par_LoginUser = Session["UID"].ToString() + Login_Name; string s_par_Busdate = SLP_MDC_START_DATE.StartDate + " ~ " + SLP_MDC_START_DATE.EndDate; string s_par_Z_O = SLP_Z_O_S.Text + " " + SLP_Z_O_S.Name + " ~ " + SLP_Z_O_E.Text + " " + SLP_Z_O_E.Name; string s_par_Chan_No = SLP_CHAIN_S.Text + " " + SLP_CHAIN_S.Name + " ~ " + SLP_CHAIN_E.Text + " " + SLP_CHAIN_E.Name; report.SetParameterValue("par_Program_ID", s_par_Program_ID); report.SetParameterValue("par_LoginUser", s_par_LoginUser); report.SetParameterValue("par_Busdate", s_par_Busdate); report.SetParameterValue("par_Z_O", s_par_Z_O); report.SetParameterValue("par_Chan_No", s_par_Chan_No); System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; } }
/// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> /// /// <param name="reportFormatType">檔案型態</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); string par_ChanNo = string.Empty; string par_Store = string.Empty; #region 前置檢查與參數過濾 par_ChanNo = Server.UrlDecode(Request.QueryString["Chan"].ToString()); par_Store = Server.UrlDecode(Request.QueryString["Store"].ToString()); #endregion #region 組合查詢條件至ArrayList ArrayList returnList = new ArrayList(); returnList.Clear(); report.SetParameterValue("ChanNo", par_ChanNo); report.SetParameterValue("Store", par_Store); #endregion //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); report.Close(); break; case "PDF": System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); report.Close(); break; default: break; } }
public ActionResult ExportData_View(decimal pAppHeaderId, string p_appCode, string p_Language) { try { string _datetimenow = DateTime.Now.ToString("ddMMyyyyHHmm"); string language = AppsCommon.GetCurrentLang(); var objBL = new C07_BL(); List<C07_Info_Export> _lst = new List<C07_Info_Export>(); List<AppDocumentInfo> appDocumentInfos = new List<AppDocumentInfo>(); List<AppFeeFixInfo> _lst_appFeeFixInfos = new List<AppFeeFixInfo>(); ApplicationHeaderInfo applicationHeaderInfo = new ApplicationHeaderInfo(); List<Other_MasterInfo> _lst_Other_MasterInfo = new List<Other_MasterInfo>(); List<AppDocumentOthersInfo> _LstDocumentOthersInfo = new List<AppDocumentOthersInfo>(); List<AppClassDetailInfo> appClassDetailInfos = new List<AppClassDetailInfo>(); C07_Info_Export pDetail = objBL.GetByID_Exp(pAppHeaderId, language, ref applicationHeaderInfo, ref appDocumentInfos, ref _lst_appFeeFixInfos, ref _lst_Other_MasterInfo, ref _LstDocumentOthersInfo, ref appClassDetailInfos); pDetail.LOGOURL = Server.MapPath(pDetail.LOGOURL); string fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "C07_VN_" + _datetimenow + ".pdf"); if (pDetail.Languague_Code == Language.LangVI) { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "C07_VN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "C07_VN_" + _datetimenow + ".pdf"; } else { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "C07_EN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "C07_EN_" + _datetimenow + ".pdf"; } Prepare_Data_Export_C07(ref pDetail, applicationHeaderInfo, appDocumentInfos, _lst_appFeeFixInfos, _lst_Other_MasterInfo, _LstDocumentOthersInfo, appClassDetailInfos); _lst.Add(pDetail); DataSet _ds_all = ConvertData.ConvertToDataSet<C07_Info_Export>(_lst, false); try { _ds_all.WriteXml(@"C:\inetpub\C07.xml", XmlWriteMode.WriteSchema); } catch (Exception ex) { Logger.LogException(ex); } CrystalDecisions.CrystalReports.Engine.ReportDocument oRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); string _tempfile = "C07.rpt"; if (p_Language == Language.LangEN) { _tempfile = "C07_EN.rpt"; } oRpt.Load(Path.Combine(Server.MapPath("~/Report/"), _tempfile)); #region Set vị trí ảnh CrystalDecisions.CrystalReports.Engine.PictureObject _pic01; _pic01 = (CrystalDecisions.CrystalReports.Engine.PictureObject)oRpt.ReportDefinition.Sections[0].ReportObjects["Picture1"]; _pic01.Width = 200; _pic01.Height = 200; try { Bitmap img = new Bitmap(pDetail.LOGOURL); try { double _Const = 6.666666666666/2; int _left = 0, _top = 0, _marginleft = 225, _margintop = 5580; int _h = 600; double _d1 = (_h - img.Width) / 2; _d1 = _Const * _d1; _left = _marginleft + Convert.ToInt32(_d1); if (_left < 0) { _left = _marginleft; } _pic01.Left = _left; // top _d1 = (_h - img.Height) / 2; _d1 = _Const * _d1; _top = _margintop + Convert.ToInt32(_d1); if (_top < 0) { _top = _margintop; } _pic01.Top = _top; } catch (Exception ex) { Logger.LogException(ex); } finally { img.Dispose(); } } catch (Exception ex) { } System.IO.FileInfo file = new System.IO.FileInfo(pDetail.LOGOURL); #endregion if (_ds_all != null) { _ds_all.Tables[0].TableName = "Table"; oRpt.SetDataSource(_ds_all); } oRpt.Refresh(); Response.Buffer = false; Response.ClearContent(); Response.ClearHeaders(); //oRpt.ExportToDisk(ExportFormatType.PortableDocFormat, fileName_pdf); System.IO.Stream oStream = oRpt.ExportToStream(ExportFormatType.PortableDocFormat); byte[] byteArray = new byte[oStream.Length]; oStream.Read(byteArray, 0, Convert.ToInt32(oStream.Length - 1)); System.IO.File.WriteAllBytes(fileName_pdf, byteArray.ToArray()); // Requires System.Linq return Json(new { success = 0 }); } catch (Exception ex) { Logger.LogException(ex); return Json(new { success = 0 }); } }
private void ShowReport(DataTable dt,string V_FORM_TYPE,DateTime D_START_DATE,DateTime D_END_DATE,String V_ADJ_IN_DESC,String V_ADJ_OUT_DESC) { #region 利用CrystalReport列印報表 //使用者名稱 DataTable dt1 = new DataTable(); dt1 = (DataTable)Session["UserInfo"]; string Login_Name = dt1.Rows[0]["Name"].ToString(); CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(Server.MapPath("./REPORT/PSS031/PSS031R01.rpt")); report.SetDataSource(dt); report.SetParameterValue("par_Program_ID", "PSS031R"); report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name); report.SetParameterValue("par_YEAR_MONTH", this.SLP_YearMonth1.Text.Trim()); if (rblRptType.Items[0].Selected) report.SetParameterValue("par_TYPE", "差異"); else report.SetParameterValue("par_TYPE", "全部"); if (this.SLP_SKU_B.Text.Trim() == "" && this.SLP_SKU_E.Text.Trim() == "") { report.SetParameterValue("par_ITEM", "全部"); } else { report.SetParameterValue("par_ITEM", this.SLP_SKU_B.Text.Trim() + "~" + this.SLP_SKU_E.Text.Trim()); } if (this.SLP_ItemPeriod_B.Text.Trim() == "" && this.SLP_ItemPeriod_E.Text.Trim() == "") { report.SetParameterValue("par_PERIOD", "全部"); } else { report.SetParameterValue("par_PERIOD", this.SLP_ItemPeriod_B.Text.Trim() + "~" + this.SLP_ItemPeriod_E.Text.Trim()); } if (this.slp_TAX_TYPE.Text.Trim() == "" ) { report.SetParameterValue("par_TAX_TYPE", "全部"); } else if (this.slp_TAX_TYPE.Text.Trim() == "0") { report.SetParameterValue("par_TAX_TYPE", "應稅"); } else if (this.slp_TAX_TYPE.Text.Trim() == "1") { report.SetParameterValue("par_TAX_TYPE", "免稅"); } else if (this.slp_TAX_TYPE.Text.Trim() == "2") { report.SetParameterValue("par_TAX_TYPE", "零稅"); } report.SetParameterValue("par_START_DATE", D_START_DATE); report.SetParameterValue("par_END_DATE", D_END_DATE); report.SetParameterValue("par_ADJ_IN_DESC", V_ADJ_IN_DESC); report.SetParameterValue("par_ADJ_OUT_DESC", V_ADJ_OUT_DESC); //檔案匯出 if (V_FORM_TYPE == "XLS") { System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("進銷存差異明細表.XLS", System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/xls"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); } else { System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("進銷存差異明細表.PDF", System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); } report.Close(); #endregion }
private void ShowReportA(DataTable dtA, DataTable dtB, string V_FORM_TYPE, string V_RPT) { #region 利用CrystalReport列印報表 //匯出檔案名稱 string FileName = ""; //使用者名稱 DataTable dt1 = new DataTable(); dt1 = (DataTable)Session["UserInfo"]; string Login_Name = dt1.Rows[0]["Name"].ToString(); CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(Server.MapPath("./REPORT/VAM121/" + V_RPT + "01.rpt")); DataSet ds = new DataSet(); dtA.TableName = "VAM122_R1"; ds.Tables.Add(dtA.Copy()); dtB.TableName = "VAM122_R2"; ds.Tables.Add(dtB.Copy()); report.SetDataSource(ds); if (V_RPT == "VAM121R") { FileName = "進項憑證明細表(發票)"; report.SetParameterValue("par_Program_ID", V_RPT); report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name); if (this.SLP_SLPDateRange.StartDate.ToString() == "" && this.SLP_SLPDateRange.EndDate.ToString() == "") report.SetParameterValue("par_Source_date", "全部"); else report.SetParameterValue("par_Source_date", this.SLP_SLPDateRange.StartDate.ToString() + "-" + this.SLP_SLPDateRange.EndDate.ToString()); if (this.SLP_SLPDateRange1.StartDate.ToString() == "" && this.SLP_SLPDateRange1.EndDate.ToString() == "") report.SetParameterValue("par_Keyin_date", "全部"); else report.SetParameterValue("par_Keyin_date", this.SLP_SLPDateRange1.StartDate.ToString() + "-" + this.SLP_SLPDateRange1.EndDate.ToString()); if (this.SLP_VendorBase1.Text.Trim() == "" && this.SLP_VendorBase2.Text.Trim() == "") { report.SetParameterValue("par_Vandor", "全部"); } else { report.SetParameterValue("par_Vandor", this.SLP_VendorBase1.Text.Trim() + "-" + this.SLP_VendorBase2.Text.Trim()); } if (((DropDownList)this.SLP_EnumBase.FindControl("D1")).SelectedItem.Text == "ALL") report.SetParameterValue("par_Tax_Type", "全部"); else report.SetParameterValue("par_Tax_Type", ((DropDownList)this.SLP_EnumBase.FindControl("D1")).SelectedItem.Text); } else if (V_RPT == "VAM122R") { FileName = "進項憑證明細表(折讓)"; report.SetParameterValue("par_Program_ID_B", V_RPT); report.SetParameterValue("par_LoginUser_B", Session["UID"].ToString() + Login_Name); if (this.SLP_SLPDateRange.StartDate.ToString() == "" && this.SLP_SLPDateRange.EndDate.ToString() == "") report.SetParameterValue("par_Source_date_B", "全部"); else report.SetParameterValue("par_Source_date_B", this.SLP_SLPDateRange.StartDate.ToString() + "-" + this.SLP_SLPDateRange.EndDate.ToString()); if (this.SLP_SLPDateRange1.StartDate.ToString() == "" && this.SLP_SLPDateRange1.EndDate.ToString() == "") report.SetParameterValue("par_Keyin_date_B", "全部"); else report.SetParameterValue("par_Keyin_date_B", this.SLP_SLPDateRange1.StartDate.ToString() + "-" + this.SLP_SLPDateRange1.EndDate.ToString()); if (this.SLP_VendorBase1.Text.Trim() == "" && this.SLP_VendorBase2.Text.Trim() == "") { report.SetParameterValue("par_Vandor_B", "全部"); } else { report.SetParameterValue("par_Vandor_B", this.SLP_VendorBase1.Text.Trim() + "-" + this.SLP_VendorBase2.Text.Trim()); } if (((DropDownList)this.SLP_EnumBase.FindControl("D1")).SelectedItem.Text == "ALL") report.SetParameterValue("par_Tax_Type_B", "全部"); else report.SetParameterValue("par_Tax_Type_B", ((DropDownList)this.SLP_EnumBase.FindControl("D1")).SelectedItem.Text); //report.SetParameterValue("par_Tax_Type_B", ((DropDownList)this.SLP_EnumBase.FindControl("D1")).SelectedItem.Text); } else if (V_RPT == "VAM123R") { FileName = "進項憑證明細表(發票與折讓)"; report.SetParameterValue("par_Program_ID", V_RPT); report.SetParameterValue("par_Program_ID_B", V_RPT); report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name); report.SetParameterValue("par_LoginUser_B", Session["UID"].ToString() + Login_Name); if (this.SLP_SLPDateRange.StartDate.ToString() == "" && this.SLP_SLPDateRange.EndDate.ToString() == "") { report.SetParameterValue("par_Source_date", "全部"); report.SetParameterValue("par_Source_date_B", "全部"); } else { report.SetParameterValue("par_Source_date", this.SLP_SLPDateRange.StartDate.ToString() + "-" + this.SLP_SLPDateRange.EndDate.ToString()); report.SetParameterValue("par_Source_date_B", this.SLP_SLPDateRange.StartDate.ToString() + "-" + this.SLP_SLPDateRange.EndDate.ToString()); } if (this.SLP_SLPDateRange1.StartDate.ToString() == "" && this.SLP_SLPDateRange1.EndDate.ToString() == "") { report.SetParameterValue("par_Keyin_date", "全部"); report.SetParameterValue("par_Keyin_date_B", "全部"); } else { report.SetParameterValue("par_Keyin_date", this.SLP_SLPDateRange1.StartDate.ToString() + "-" + this.SLP_SLPDateRange1.EndDate.ToString()); report.SetParameterValue("par_Keyin_date_B", this.SLP_SLPDateRange1.StartDate.ToString() + "-" + this.SLP_SLPDateRange1.EndDate.ToString()); } if (this.SLP_VendorBase1.Text.Trim() == "" && this.SLP_VendorBase2.Text.Trim() == "") { report.SetParameterValue("par_Vandor", "全部"); report.SetParameterValue("par_Vandor_B", "全部"); } else { report.SetParameterValue("par_Vandor", this.SLP_VendorBase1.Text.Trim() + "-" + this.SLP_VendorBase2.Text.Trim()); report.SetParameterValue("par_Vandor_B", this.SLP_VendorBase1.Text.Trim() + "-" + this.SLP_VendorBase2.Text.Trim()); } if (((DropDownList)this.SLP_EnumBase.FindControl("D1")).SelectedItem.Text == "ALL") { report.SetParameterValue("par_Tax_Type", "全部"); report.SetParameterValue("par_Tax_Type_B", "全部"); } else { report.SetParameterValue("par_Tax_Type", ((DropDownList)this.SLP_EnumBase.FindControl("D1")).SelectedItem.Text); report.SetParameterValue("par_Tax_Type_B", ((DropDownList)this.SLP_EnumBase.FindControl("D1")).SelectedItem.Text); } } //檔案匯出 if (V_FORM_TYPE == "XLS") { System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName + ".XLS", System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/xls"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); } else { System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName + ".PDF", System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); } report.Close(); #endregion }
/// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> /// /// <param name="reportFormatType">檔案型態</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": string s_par_Program_ID = string.Empty; string s_par_LoginUser = string.Empty; string s_par_Date = string.Empty; //組報表名稱 string type = ""; if (radDealGoodsList.Checked) type = "1"; else if (radDealTotal.Checked) type = "2"; else type = "3"; s_par_Program_ID = this.PageCode; s_par_LoginUser = Session["UID"].ToString(); s_par_Date = SLP_SLPDate.Text; //取得門市對象及資料來源中文名稱 string s_par_DELIV_EARLY = "", s_par_DATA_SOURCE = ""; if (radTotal.Checked) s_par_DELIV_EARLY = radTotal.Text; else if (radViceStore.Checked) s_par_DELIV_EARLY = radViceStore.Text; else s_par_DELIV_EARLY = radAheadDealStore.Text; if (radPay.Checked) s_par_DATA_SOURCE = radPay.Text; else s_par_DATA_SOURCE = radStoreIn.Text; report.SetParameterValue("par_Program_ID", s_par_Program_ID); report.SetParameterValue("par_LoginUser", s_par_LoginUser); report.SetParameterValue("par_DELIV_EARLY", s_par_DELIV_EARLY); report.SetParameterValue("par_DATA_SOURCE", s_par_DATA_SOURCE); if (radDealTotal.Checked)//理貨彙總表 { report.SetParameterValue("par_ST_ACCEPT_DATE", s_par_Date);//門市進貨日 report.SetParameterValue("par_PICK_BACTH", txtProcBatch.Text);//理貨批次 } else if (radOutRpt.Checked) { report.SetParameterValue("par_ST_ACCEPT_DATE", s_par_Date);//門市進貨日 report.SetParameterValue("par_PICK_BACTH", txtProcBatch.Text);//理貨批次 report.SetParameterValue("par_TRANS_NO_FROM", ddlTransSt_S.SelectedItem.Text);//轉運站起 report.SetParameterValue("par_TRANS_NO_TO", ddlTransSt_E.SelectedItem.Text);//轉運站迄 report.SetParameterValue("par_ROUTE_FROM", SLP_Route_S.Text);//路線起 report.SetParameterValue("par_ROUTE_TO", SLP_Route_E.Text);//路線迄 } System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; } }
/// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> /// /// <param name="reportFormatType">檔案型態</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); string par_ProgramID = string.Empty; string par_LoginUser = string.Empty; #region 前置檢查與參數過濾 DropDownList ddlCodeFile1 = (DropDownList)(this.SLP_CodeFile1.FindControl("D1")); string V_LOCATE_NO = this.SLP_CodeFile1.Text + " " + ddlCodeFile1.SelectedItem.Text; string V_LOCATE_SECTOR_S = this.ddlS.Text; string V_LOCATE_SECTOR_E = this.ddlE.Text; par_ProgramID = this.PageCode; par_LoginUser = Session["UID"].ToString() + " " + Get_LoginName(); #endregion #region 組合查詢條件至ArrayList ArrayList returnList = new ArrayList(); returnList.Clear(); report.SetParameterValue("V_LOCATE_NO", V_LOCATE_NO); report.SetParameterValue("V_LOCATE_SECTOR_S", V_LOCATE_SECTOR_S); report.SetParameterValue("V_LOCATE_SECTOR_E", V_LOCATE_SECTOR_E); report.SetParameterValue("par_Program_ID", par_ProgramID); report.SetParameterValue("par_LoginUser", par_LoginUser); #endregion //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); report.Close(); break; case "PDF": System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); report.Close(); break; default: break; } }
/// <summary> /// show報表 /// </summary> //private void ShowReport(DataTable Dt) //{ // try // { // string s_par_Program_ID = string.Empty; // string s_par_LoginUser = string.Empty; // CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); // report.Load(Server.MapPath("./REPORT/CGD251R01.rpt")); // report.SetDataSource(Dt); // s_par_Program_ID = this.PageCode; // s_par_LoginUser = Session["UID"].ToString(); // //ParameterFields pars = new ParameterFields(); // //AddParameter("par_Program_ID", s_par_Program_ID, pars); // //AddParameter("par_LoginUser", s_par_LoginUser, pars); // this.CrystalReportViewer1.ReportSource = report; // //this.CrystalReportViewer1.ParameterFieldInfo.Add(pars[0]); // //this.CrystalReportViewer1.ParameterFieldInfo.Add(pars[1]); // this.CrystalReportViewer1.Visible = true; // Session["Rpt_Data_1" + PageTimeStamp.Value] = Dt; // Session["ButtonSelect"] = "ShowReport"; // } // catch (Exception ex) // { // ErrorMsgLabel.Text = ex.Message; // } // finally { } //} /// <summary> /// Show未列印報表 /// </summary> /// <param name="Dt"></param> //private void ShowUnprintReport(DataTable Dt) //{ // try // { // string s_par_Program_ID = string.Empty; // string s_par_LoginUser = string.Empty; // CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); // report.Load(Server.MapPath("./REPORT/CGD251R02.rpt")); // report.SetDataSource(Dt); // s_par_Program_ID = this.PageCode; // s_par_LoginUser = Session["UID"].ToString(); // ParameterFields pars = new ParameterFields(); // AddParameter("par_Program_ID", s_par_Program_ID, pars); // AddParameter("par_LoginUser", s_par_LoginUser, pars); // this.CrystalReportViewer1.ReportSource = report; // this.CrystalReportViewer1.ParameterFieldInfo.Add(pars[0]); // this.CrystalReportViewer1.ParameterFieldInfo.Add(pars[1]); // this.CrystalReportViewer1.Visible = true; // Session["Rpt_Data_2" + PageTimeStamp.Value] = Dt; // Session["ButtonSelect"] = "ShowUnprintReport"; // } // catch (Exception ex) // { // ErrorMsgLabel.Text = ex.Message; // } // finally { } //} /// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable Dt) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(Dt); string s_par_Program_ID = this.PageCode; string s_par_LoginUser = Session["UID"].ToString(); this.CrystalReportViewer1.ReportSource = report; report.SetParameterValue("par_Program_ID", s_par_Program_ID); report.SetParameterValue("par_LoginUser", s_par_LoginUser); System.IO.Stream stream = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); stream.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytes, 0, bytes.Length); Response.Flush(); Response.Close(); }
private void ShowReportDB(DataTable dt, int iMaxTarget, int iMaxSubsidy) { #region 利用CrystalReport列印報表 //使用者名稱 DataTable dt1 = new DataTable(); dt1 = (DataTable)Session["UserInfo"]; string Login_Name = dt1.Rows[0]["Name"].ToString(); CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); if (this.rdoType4.Checked) report.Load(Server.MapPath("./REPORT/VAM131/VAM131R04B.rpt")); else report.Load(Server.MapPath("./REPORT/VAM131/VAM131R05B.rpt")); DataTable dtR = new DataTable(); dtR = this.MakeDTForRptD(); string[] arrField, arrField1; arrField = new string[10] { "獎勵金一", "獎勵金二", "獎勵金三", "獎勵金四", "獎勵金五", "獎勵金六", "獎勵金七", "獎勵金八", "獎勵金九", "獎勵金十" }; arrField1 = new string[10] { "物流費一", "物流費二", "物流費三", "物流費四", "物流費五", "物流費六", "物流費七", "物流費八", "物流費九", "物流費十" }; for (int i = 0; i < dt.Rows.Count; i++) { DataRow drA = dtR.NewRow(); drA[0] = dt.Rows[i][0].ToString(); drA[1] = dt.Rows[i][1].ToString(); if (dt.Rows[i][2].ToString() != "") { if (this.rdoType4.Checked) drA[2] = Convert.ToDateTime(dt.Rows[i][2].ToString()).ToShortDateString(); else drA[2] = dt.Rows[i][2].ToString(); } drA[3] = Convert.ToDecimal(dt.Rows[i][3].ToString()); drA[4] = Convert.ToDecimal(dt.Rows[i][4].ToString()); drA[5] = Convert.ToDecimal(dt.Rows[i][5].ToString()); drA[6] = Convert.ToDecimal(dt.Rows[i][6].ToString()); drA[7] = Convert.ToDecimal(dt.Rows[i][7].ToString()); for (int j = 0; j < iMaxTarget; j++) { drA[8 + j] = Convert.ToDecimal(dt.Rows[i][8 + j].ToString()); } for (int k = 0; k < iMaxSubsidy; k++) { drA[8 + iMaxTarget + k] = Convert.ToDecimal(dt.Rows[i][18 + k].ToString()); } drA[8 + iMaxTarget + iMaxSubsidy] = Convert.ToDecimal(dt.Rows[i][28].ToString()); for (int l = 29; l < 29 + iMaxTarget; l++) { if (dt.Rows[i][l].ToString() != "") drA[l] = arrField[l - 29] + ":" + dt.Rows[i][l].ToString(); else drA[l] = dt.Rows[i][l].ToString(); } dtR.Rows.Add(drA); } report.SetDataSource(dtR); for (int j = 0; j < iMaxTarget; j++) { report.SetParameterValue("par_Field" + Convert.ToString(9 + j), arrField[j]); } for (int j = 0; j < iMaxSubsidy; j++) { report.SetParameterValue("par_Field" + Convert.ToString(9 + iMaxTarget + j), arrField1[j]); } report.SetParameterValue("par_Field" + Convert.ToString(9 + iMaxTarget + iMaxSubsidy), "未稅金額"); for (int j = 0; j < 20 - (iMaxTarget + iMaxSubsidy); j++) { report.SetParameterValue("par_Field" + Convert.ToString(10 + iMaxTarget + iMaxSubsidy + j), ""); } //this.CryView.ReportSource = report; //檔案匯出 System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("停止往來及合約追溯彙總表_" + System.DateTime.Now.Year.ToString() + System.DateTime.Now.Month.ToString() + System.DateTime.Now.Day.ToString() + ".XLS", System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/xls"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); report.Close(); #endregion }
private void ShowReportD(DataTable dt, int iMaxTarget, int iMaxSubsidy) { #region 利用CrystalReport列印報表 //使用者名稱 DataTable dt1 = new DataTable(); dt1 = (DataTable)Session["UserInfo"]; string Login_Name = dt1.Rows[0]["Name"].ToString(); CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); if (this.rdoType4.Checked) { if (this.rdoPrint1.Checked) report.Load(Server.MapPath("./REPORT/VAM131/VAM131R04.rpt")); else report.Load(Server.MapPath("./REPORT/VAM131/VAM131R04A.rpt")); } else { if (this.rdoPrint1.Checked) report.Load(Server.MapPath("./REPORT/VAM131/VAM131R05.rpt")); else report.Load(Server.MapPath("./REPORT/VAM131/VAM131R05A.rpt")); } DataTable dtR = new DataTable(); dtR = this.MakeDTForRptD(); string[] arrField, arrField1; arrField = new string[10] { "獎勵金一", "獎勵金二", "獎勵金三", "獎勵金四", "獎勵金五", "獎勵金六", "獎勵金七", "獎勵金八", "獎勵金九", "獎勵金十" }; arrField1 = new string[10] { "物流費一", "物流費二", "物流費三", "物流費四", "物流費五", "物流費六", "物流費七", "物流費八", "物流費九", "物流費十" }; for (int i = 0; i < dt.Rows.Count; i++) { DataRow drA = dtR.NewRow(); drA[0] = dt.Rows[i][0].ToString(); drA[1] = dt.Rows[i][1].ToString(); if (dt.Rows[i][2].ToString() != "") { if (this.rdoType4.Checked) drA[2] = Convert.ToDateTime(dt.Rows[i][2].ToString()).ToShortDateString(); else drA[2] = dt.Rows[i][2].ToString(); } drA[3] = Convert.ToDecimal(dt.Rows[i][3].ToString()); drA[4] = Convert.ToDecimal(dt.Rows[i][4].ToString()); drA[5] = Convert.ToDecimal(dt.Rows[i][5].ToString()); drA[6] = Convert.ToDecimal(dt.Rows[i][6].ToString()); drA[7] = Convert.ToDecimal(dt.Rows[i][7].ToString()); for (int j = 0; j < iMaxTarget; j++) { drA[8 + j] = Convert.ToDecimal(dt.Rows[i][8 + j].ToString()); } for (int k = 0; k < iMaxSubsidy; k++) { drA[8 + iMaxTarget + k] = Convert.ToDecimal(dt.Rows[i][18 + k].ToString()); } drA[8 + iMaxTarget + iMaxSubsidy] = Convert.ToDecimal(dt.Rows[i][28].ToString()); for (int l = 29; l < 29 + iMaxTarget; l++) { if (dt.Rows[i][l].ToString() != "") drA[l] = arrField[l - 29] + ":" + dt.Rows[i][l].ToString(); else drA[l] = dt.Rows[i][l].ToString(); } dtR.Rows.Add(drA); } report.SetDataSource(dtR); //this.CryView.ReportSource = null; //ParameterFields par1 = new ParameterFields(); //AddParameter("par_Program_ID", "VAM134R", par1); if (this.rdoType4.Checked) report.SetParameterValue("par_Program_ID", "VAM134R"); else report.SetParameterValue("par_Program_ID", "VAM135R"); //ParameterFields par2 = new ParameterFields(); //AddParameter("par_LoginUser", Session["UID"].ToString() + Login_Name, par2); report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name); report.SetParameterValue("par_YEAR_MONTH", this.SLP_YearMonth1.Text.Trim()); //ParameterFields par4 = new ParameterFields(); if (this.rdoPrint1.Checked) //AddParameter("par_TYPE", "全部", par4); report.SetParameterValue("par_TYPE", "全部"); else //AddParameter("par_TYPE", "分頁", par4); report.SetParameterValue("par_TYPE", "分頁"); //this.CryView.ParameterFieldInfo.Add(par1[0]); //this.CryView.ParameterFieldInfo.Add(par2[0]); //this.CryView.ParameterFieldInfo.Add(par3[0]); //this.CryView.ParameterFieldInfo.Add(par4[0]); for (int j = 0; j < iMaxTarget; j++) { //ParameterFields pars = new ParameterFields(); //AddParameter("par_Field" + Convert.ToString(9 + j), arrField[j], pars); //this.CryView.ParameterFieldInfo.Add(pars[0]); report.SetParameterValue("par_Field" + Convert.ToString(9 + j), arrField[j]); } for (int j = 0; j < iMaxSubsidy; j++) { //ParameterFields pars = new ParameterFields(); //AddParameter("par_Field" + Convert.ToString(9 + iMaxTarget + j), arrField1[j], pars); //this.CryView.ParameterFieldInfo.Add(pars[0]); report.SetParameterValue("par_Field" + Convert.ToString(9 + iMaxTarget + j), arrField1[j]); } //ParameterFields par5 = new ParameterFields(); //AddParameter("par_Field" + Convert.ToString(9 + iMaxTarget + iMaxSubsidy), "未稅金額", par5); //this.CryView.ParameterFieldInfo.Add(par5[0]); report.SetParameterValue("par_Field" + Convert.ToString(9 + iMaxTarget + iMaxSubsidy), "未稅金額"); for (int j = 0; j < 20 - (iMaxTarget + iMaxSubsidy); j++) { //ParameterFields pars = new ParameterFields(); //AddParameter("par_Field" + Convert.ToString(10 + iMaxTarget + iMaxSubsidy + j), "", pars); //this.CryView.ParameterFieldInfo.Add(pars[0]); report.SetParameterValue("par_Field" + Convert.ToString(10 + iMaxTarget + iMaxSubsidy + j), ""); } //this.CryView.ReportSource = report; //檔案匯出 System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("停止往來及合約追溯彙總表.PDF", System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); report.Close(); #endregion }
private void ShowReportC(DataTable dt, int iMaxTarget, int iMaxSubsidy) { #region 利用CrystalReport列印報表 //使用者名稱 DataTable dt1 = new DataTable(); dt1 = (DataTable)Session["UserInfo"]; string Login_Name = dt1.Rows[0]["Name"].ToString(); CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); if (this.rdoPrint1.Checked) { //20120522 rika 異動為固定抓取10欄 故不再使用12欄位以上之報表 //if (iMaxTarget + iMaxSubsidy > 12) // report.Load(Server.MapPath("./REPORT/VAM131/VAM131R03.rpt")); //else report.Load(Server.MapPath("./REPORT/VAM131/VAM131R03_2.rpt")); } else { //20120522 rika 異動為固定抓取10欄 故不再使用12欄位以上之報表 //if (iMaxTarget + iMaxSubsidy > 12) // report.Load(Server.MapPath("./REPORT/VAM131/VAM131R03A.rpt")); //else report.Load(Server.MapPath("./REPORT/VAM131/VAM131R03A_2.rpt")); } DataTable dtR = new DataTable(); dtR = this.MakeDTForRptC(); string[] arrField, arrField1; arrField = new string[9] { "獎勵金", "物流費", "折扣補貼", "獎勵金五", "獎勵金六", "獎勵金七", "獎勵金八", "獎勵金九", "獎勵金十" }; arrField1 = new string[9] { "獎勵金", "物流費", "折扣補貼", "物流費五", "物流費六", "物流費七", "物流費八", "物流費九", "物流費十" }; for (int i = 0; i < dt.Rows.Count; i++) { DataRow drA = dtR.NewRow(); drA[0] = dt.Rows[i][0].ToString(); drA[1] = dt.Rows[i][1].ToString(); drA[2] = Convert.ToDecimal(dt.Rows[i][2].ToString()); drA[3] = Convert.ToDecimal(dt.Rows[i][3].ToString()); drA[4] = Convert.ToDecimal(dt.Rows[i][4].ToString()); drA[5] = Convert.ToDecimal(dt.Rows[i][5].ToString()); drA[6] = Convert.ToDecimal(dt.Rows[i][6].ToString()); drA[7] = Convert.ToDecimal(dt.Rows[i][7].ToString()); drA[42] = Convert.ToDecimal(dt.Rows[i]["target_amt"].ToString()); for (int j = 0; j < iMaxTarget; j++) { drA[8 + j] = Convert.ToDecimal(dt.Rows[i][8 + j].ToString()); } for (int k = 0; k < iMaxSubsidy; k++) { drA[8 + iMaxTarget + k] = Convert.ToDecimal(dt.Rows[i][18 + k].ToString()); } drA[8 + iMaxTarget + iMaxSubsidy] = Convert.ToDecimal(dt.Rows[i][28].ToString()); drA[9 + iMaxTarget + iMaxSubsidy] = Convert.ToDecimal(dt.Rows[i][29].ToString()); drA[10 + iMaxTarget + iMaxSubsidy] = Convert.ToDecimal(dt.Rows[i][30].ToString()); drA[11 + iMaxTarget + iMaxSubsidy] = Convert.ToDecimal(dt.Rows[i][31].ToString()); for (int l = 32; l < 32 + iMaxTarget; l++) { if (dt.Rows[i][l].ToString() != "") drA[l] = arrField[l - 32] + ":" + dt.Rows[i][l].ToString(); else drA[l] = dt.Rows[i][l].ToString(); } dtR.Rows.Add(drA); } report.SetDataSource(dtR); report.SetParameterValue("par_Program_ID", "VAM133R"); report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name); report.SetParameterValue("par_YEAR_MONTH", this.SLP_YearMonth1.Text.Trim()); if (this.rdoPrint1.Checked) report.SetParameterValue("par_TYPE", "全部"); else report.SetParameterValue("par_TYPE", "分頁"); for (int j = 0; j < iMaxTarget; j++) { report.SetParameterValue("par_Field" + Convert.ToString(9 + j), arrField[j]); } for (int j = 0; j < iMaxSubsidy; j++) { report.SetParameterValue("par_Field" + Convert.ToString(9 + iMaxTarget + j), arrField1[j]); } report.SetParameterValue("par_Field" + Convert.ToString(9 + iMaxTarget + iMaxSubsidy), "小計未稅"); report.SetParameterValue("par_Field" + Convert.ToString(10 + iMaxTarget + iMaxSubsidy), "追溯金額"); report.SetParameterValue("par_Field" + Convert.ToString(11 + iMaxTarget + iMaxSubsidy), "預收金額"); report.SetParameterValue("par_Field" + Convert.ToString(12 + iMaxTarget + iMaxSubsidy), "合計(未稅)"); for (int j = 0; j < 20 - (iMaxTarget + iMaxSubsidy); j++) { report.SetParameterValue("par_Field" + Convert.ToString(13 + iMaxTarget + iMaxSubsidy + j), ""); } //this.CryView.ReportSource = report; //檔案匯出 System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("各項扣款彙總表.PDF", System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); report.Close(); #endregion }
public ActionResult ExportData_View_IU(ApplicationHeaderInfo pInfo, Pattent_Lao_Info pDetail, List <AppDocumentInfo> pAppDocumentInfo, List <AppFeeFixInfo> pFeeFixInfo, List <Other_MasterInfo> pOther_MasterInfo, List <Inventor_Info> pInventor_Info, List <AppClassDetailInfo> pAppClassInfo, List <AppDocumentOthersInfo> pAppDocOtherInfo, List <UTienInfo> pUTienInfo, List <AppDocumentOthersInfo> pLstImagePublic) { try { string _datetimenow = DateTime.Now.ToString("ddMMyyyyHHmm"); string language = AppsCommon.GetCurrentLang(); //var objBL = new A01_BL(); List <Pattent_Lao_Info_Export> _lst = new List <Pattent_Lao_Info_Export>(); string fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "L_Patent_VN_" + _datetimenow + ".pdf"); if (language == Language.LangVI) { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "L_Patent_VN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "L_Patent_VN_" + _datetimenow + ".pdf"; } else { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "L_Patent_EN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "L_Patent_EN_" + _datetimenow + ".pdf"; } Pattent_Lao_Info_Export _A01_Info_Export = new Pattent_Lao_Info_Export(); Pattent_Lao_Info_Export.CopyA01_Info(ref _A01_Info_Export, pDetail); foreach (var item in MemoryData.c_lst_Country) { if (item.Country_Id == pInfo.Master_Country_Nationality) { pInfo.Master_Country_Nationality_Name = item.Name; } if (item.Country_Id == pInfo.Master_Country_Incorporation) { pInfo.Master_Country_Incorporation_Name = item.Name; } if (item.Country_Id == pInfo.Master_Country_Residence) { pInfo.Master_Country_Residence_Name = item.Name; } } // Phí cố định List <AppFeeFixInfo> _lstFeeFix = Call_Fee.CallFee_PT_Lao(pDetail, pAppDocumentInfo, pUTienInfo, pLstImagePublic, pAppDocOtherInfo); Call_Fee.Prepare_Data_Export_PT_Lao(ref _A01_Info_Export, pInfo, pAppDocumentInfo, _lstFeeFix, pInventor_Info, pOther_MasterInfo, pAppClassInfo, pAppDocOtherInfo, pUTienInfo, pLstImagePublic); _lst.Add(_A01_Info_Export); DataSet _ds_all = ConvertData.ConvertToDataSet <Pattent_Lao_Info_Export>(_lst, false); //_ds_all.WriteXml(@"D:\A01.xml", XmlWriteMode.WriteSchema); CrystalDecisions.CrystalReports.Engine.ReportDocument oRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); string _tempfile = "L_Patent.rpt"; //if (language == Language.LangEN) //{ // _tempfile = "L_Patent_EN.rpt"; //} oRpt.Load(Path.Combine(Server.MapPath("~/Report/"), _tempfile)); if (_ds_all != null) { _ds_all.Tables[0].TableName = "Table1"; oRpt.Database.Tables["Table"].SetDataSource(_ds_all.Tables[0]); //oRpt.SetDataSource(_ds_all); } oRpt.Refresh(); Response.Buffer = false; Response.ClearContent(); Response.ClearHeaders(); //oRpt.ExportToDisk(ExportFormatType.PortableDocFormat, fileName_pdf); System.IO.Stream oStream = oRpt.ExportToStream(ExportFormatType.PortableDocFormat); byte[] byteArray = new byte[oStream.Length]; oStream.Read(byteArray, 0, Convert.ToInt32(oStream.Length - 1)); System.IO.File.WriteAllBytes(fileName_pdf, byteArray.ToArray()); // Requires System.Linq return(Json(new { success = 0 })); } catch (Exception ex) { Logger.LogException(ex); return(Json(new { success = 0 })); } }
public ActionResult ExportData_View(decimal pAppHeaderId, string p_appCode, string p_Language) { try { string _datetimenow = DateTime.Now.ToString("ddMMyyyyHHmm"); string language = AppsCommon.GetCurrentLang(); var objBL = new C08_BL(); List <C08_Info_Export> _lst = new List <C08_Info_Export>(); List <AppDocumentInfo> appDocumentInfos = new List <AppDocumentInfo>(); List <AppFeeFixInfo> _lst_appFeeFixInfos = new List <AppFeeFixInfo>(); ApplicationHeaderInfo applicationHeaderInfo = new ApplicationHeaderInfo(); List <Other_MasterInfo> _lst_Other_MasterInfo = new List <Other_MasterInfo>(); List <AppDocumentOthersInfo> _LstDocumentOthersInfo = new List <AppDocumentOthersInfo>(); C08_Info_Export pDetail = objBL.GetByID_Exp(pAppHeaderId, language, ref applicationHeaderInfo, ref appDocumentInfos, ref _lst_appFeeFixInfos, ref _lst_Other_MasterInfo, ref _LstDocumentOthersInfo); string fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "C08_VN_" + _datetimenow + ".pdf"); if (pDetail.Languague_Code == Language.LangVI) { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "C08_VN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "C08_VN_" + _datetimenow + ".pdf"; } else { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "C08_EN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "C08_EN_" + _datetimenow + ".pdf"; } Prepare_Data_Export_C08(ref pDetail, applicationHeaderInfo, appDocumentInfos, _lst_appFeeFixInfos, _lst_Other_MasterInfo, _LstDocumentOthersInfo); _lst.Add(pDetail); DataSet _ds_all = ConvertData.ConvertToDataSet <C08_Info_Export>(_lst, false); try { _ds_all.WriteXml(@"C:\inetpub\C08.xml", XmlWriteMode.WriteSchema); } catch (Exception ex) { Logger.LogException(ex); } CrystalDecisions.CrystalReports.Engine.ReportDocument oRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); string _tempfile = "C08.rpt"; if (p_Language == Language.LangEN) { _tempfile = "C08_EN.rpt"; } oRpt.Load(Path.Combine(Server.MapPath("~/Report/"), _tempfile)); if (_ds_all != null) { _ds_all.Tables[0].TableName = "Table"; oRpt.SetDataSource(_ds_all); } oRpt.Refresh(); Response.Buffer = false; Response.ClearContent(); Response.ClearHeaders(); //oRpt.ExportToDisk(ExportFormatType.PortableDocFormat, fileName_pdf); System.IO.Stream oStream = oRpt.ExportToStream(ExportFormatType.PortableDocFormat); byte[] byteArray = new byte[oStream.Length]; oStream.Read(byteArray, 0, Convert.ToInt32(oStream.Length - 1)); System.IO.File.WriteAllBytes(fileName_pdf, byteArray.ToArray()); // Requires System.Linq return(Json(new { success = 0 })); } catch (Exception ex) { Logger.LogException(ex); return(Json(new { success = 0 })); } }
public ActionResult ExportData_View_IU(ApplicationHeaderInfo pInfo, A02_Info pDetail, List <AppDocumentInfo> pAppDocumentInfo, List <AppFeeFixInfo> pFeeFixInfo, List <AuthorsInfo> pAppAuthorsInfo, List <Other_MasterInfo> pOther_MasterInfo, List <AppClassDetailInfo> pAppClassInfo, List <AppDocumentOthersInfo> pAppDocOtherInfo, List <UTienInfo> pUTienInfo, List <AppDocumentOthersInfo> pAppDocDesign) { try { string _datetimenow = DateTime.Now.ToString("ddMMyyyyHHmm"); string language = AppsCommon.GetCurrentLang(); var objBL = new A02_BL(); List <A02_Info_Export> _lst = new List <A02_Info_Export>(); string p_appCode = "A02_Preview"; string fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "A02_VN_" + _datetimenow + ".pdf"); if (language == Language.LangVI) { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "A02_VN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "A02_VN_" + _datetimenow + ".pdf"; } else { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "A02_EN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "A02_EN_" + _datetimenow + ".pdf"; } A02_Info_Export _A02_Info_Export = new A02_Info_Export(); A02_Info_Export.CopyA02_Info(ref _A02_Info_Export, pDetail); // Phí cố định List <AppFeeFixInfo> _lstFeeFix = Call_Fee.CallFee_A02(pDetail, pAppDocumentInfo, pAppDocDesign); Prepare_Data_Export_A02(ref _A02_Info_Export, pInfo, pAppDocumentInfo, _lstFeeFix, pAppAuthorsInfo, pOther_MasterInfo, pAppDocOtherInfo, pAppDocDesign); _lst.Add(_A02_Info_Export); DataSet _ds_all = ConvertData.ConvertToDataSet <A02_Info_Export>(_lst, false); //_ds_all.WriteXml(@"C:\inetpub\A02.xml", XmlWriteMode.WriteSchema); CrystalDecisions.CrystalReports.Engine.ReportDocument oRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); string _tempfile = "A02.rpt"; if (language == Language.LangEN) { _tempfile = "A02_EN.rpt"; } oRpt.Load(Path.Combine(Server.MapPath("~/Report/"), _tempfile)); if (_ds_all != null) { _ds_all.Tables[0].TableName = "Table1"; oRpt.SetDataSource(_ds_all); } oRpt.Refresh(); Response.Buffer = false; Response.ClearContent(); Response.ClearHeaders(); System.IO.Stream oStream = oRpt.ExportToStream(ExportFormatType.PortableDocFormat); byte[] byteArray = new byte[oStream.Length]; oStream.Read(byteArray, 0, Convert.ToInt32(oStream.Length - 1)); System.IO.File.WriteAllBytes(fileName_pdf, byteArray.ToArray()); // Requires System.Linq return(Json(new { success = 0 })); } catch (Exception ex) { Logger.LogException(ex); return(Json(new { success = 0 })); } }
public ActionResult ExportData_IU(ApplicationHeaderInfo pInfo, App_Detail_PLB01_SDD_Info pDetail, List <AppDocumentInfo> pAppDocumentInfo, List <AppFeeFixInfo> pFeeFixInfo) { try { string language = AppsCommon.GetCurrentLang(); //string language = pInfo.View_Language_Report; string _fileTemp = System.Web.HttpContext.Current.Server.MapPath("/Content/AppForms/B01_VI.docx"); DocumentModel document = DocumentModel.Load(_fileTemp); // Fill export_header AppsCommon.Prepare_Data_Export_3B(ref pDetail, pInfo, pAppDocumentInfo); List <App_Detail_PLB01_SDD_Info> _lst = new List <App_Detail_PLB01_SDD_Info>(); _lst.Add(pDetail); DataSet _ds_all = ConvertData.ConvertToDataSet <App_Detail_PLB01_SDD_Info>(_lst, false); //_ds_all.Tables[0].TableName = "Table"; //_ds_all.WriteXml(@"C:\inetpub\B01.xml", XmlWriteMode.WriteSchema); CrystalDecisions.CrystalReports.Engine.ReportDocument oRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); string _tempfile = "TM_PLB01SDD.rpt"; string _datetimenow = DateTime.Now.ToString("ddMMyyyyHHmm"); string fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "B01_VN_" + _datetimenow + ".pdf"); if (language == Language.LangVI) { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "B01_VN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "B01_VN_" + _datetimenow + ".pdf"; } else { _tempfile = "TM_PLB01SDD_EN.rpt"; // tiếng anh fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "B01_EN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "B01_EN_" + _datetimenow + ".pdf"; } oRpt.Load(Path.Combine(Server.MapPath("~/Report/"), _tempfile)); if (_ds_all != null) { _ds_all.Tables[0].TableName = "Table"; oRpt.Database.Tables["Table"].SetDataSource(_ds_all.Tables[0]); //oRpt.SetDataSource(_ds_all); } oRpt.Refresh(); Response.Buffer = false; Response.ClearContent(); Response.ClearHeaders(); System.IO.Stream oStream = oRpt.ExportToStream(ExportFormatType.PortableDocFormat); byte[] byteArray = new byte[oStream.Length]; oStream.Read(byteArray, 0, Convert.ToInt32(oStream.Length - 1)); System.IO.File.WriteAllBytes(fileName_pdf, byteArray.ToArray()); // Requires System.Linq return(Json(new { success = 0 })); } catch (Exception ex) { Logger.LogException(ex); return(Json(new { success = 0 })); } }
// show報表 private void ShowReport(DataTable Dt) { try { string strFileName = ""; CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(Server.MapPath("./REPORT/PUR09/CRPUR09R01.rpt")); strFileName = HttpUtility.UrlEncode("每日出貨品項維護.PDF", System.Text.Encoding.UTF8); report.SetDataSource(Dt); string Login_Name = ((DataTable)Session["UserInfo"]).Rows[0]["Name"].ToString(); report.SetParameterValue("par_Program_ID", "PUR09"); report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name); report.SetParameterValue("par_StAcceptDate", this.txtPLAN_ACCEPT_DATE.Text); report.SetParameterValue("par_PickBatch", this.txtPICK_BATCH.Text); System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + strFileName);//pdf檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } finally { } }
/// <summary> /// 利用 CrystalReport 列印報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> /// <param name="reportFormatType">檔案型態</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); #region 取得各輸入值 string s_par_Program_ID = string.Empty; string s_par_LoginUser = string.Empty; string s_par_ST_Accept_Date = string.Empty; string s_par_Trans_No_S = string.Empty; string s_par_Trans_No_E = string.Empty; string s_par_Trans_Vendor_S = string.Empty; string s_par_Trans_Vendor_E = string.Empty; string s_par_Route_S = string.Empty; string s_par_Route_E = string.Empty; string s_par_StoreChain_S = string.Empty; string s_par_StoreChain_E = string.Empty; string s_par_Report = string.Empty; s_par_Program_ID = this.PageCode; s_par_LoginUser = Session["UID"].ToString(); s_par_ST_Accept_Date = SLP_SLPDate.Text; s_par_Trans_No_S = SLP_Trans_No_S.Text + " " + ((DropDownList)SLP_Trans_No_S.FindControl("D1")).SelectedItem.Text; s_par_Trans_No_E = SLP_Trans_No_E.Text + " " + ((DropDownList)SLP_Trans_No_E.FindControl("D1")).SelectedItem.Text; s_par_Trans_Vendor_S = SLP_Trans_Vendor_S.Text + " " + ((DropDownList)SLP_Trans_Vendor_S.FindControl("D1")).SelectedItem.Text; s_par_Trans_Vendor_E = SLP_Trans_Vendor_E.Text + " " + ((DropDownList)SLP_Trans_Vendor_E.FindControl("D1")).SelectedItem.Text; if (((TextBox)SLP_Route_S.FindControl("TextBoxCode")).Text != "") { s_par_Route_S = ((TextBox)SLP_Route_S.FindControl("TextBoxCode")).Text + " " + Request[SLP_Route_S.TextBox_Name.UniqueID].ToString(); } else { s_par_Route_S = ""; } if (((TextBox)SLP_Route_E.FindControl("TextBoxCode")).Text != "") { s_par_Route_E = ((TextBox)SLP_Route_E.FindControl("TextBoxCode")).Text + " " + Request[SLP_Route_E.TextBox_Name.UniqueID].ToString(); } else { s_par_Route_E = ""; } if (((TextBox)SLP_StoreChain_S.FindControl("TextBoxCode")).Text != "") { s_par_StoreChain_S = ((TextBox)SLP_StoreChain_S.FindControl("TextBoxCode")).Text + " " + Request[SLP_StoreChain_S.TextBox_Name.UniqueID].ToString(); } else { s_par_StoreChain_S = ""; } if (((TextBox)SLP_StoreChain_E.FindControl("TextBoxCode")).Text != "") { s_par_StoreChain_E = ((TextBox)SLP_StoreChain_E.FindControl("TextBoxCode")).Text + " " + Request[SLP_StoreChain_E.TextBox_Name.UniqueID].ToString(); } else { s_par_StoreChain_E = ""; } s_par_Report = rblPrintType.SelectedItem.Text; #endregion report.SetParameterValue("par_Program_ID", s_par_Program_ID); report.SetParameterValue("par_LoginUser", s_par_LoginUser); report.SetParameterValue("par_ST_Accept_Date", s_par_ST_Accept_Date); report.SetParameterValue("par_Trans_No", s_par_Trans_No_S + " ~ " + s_par_Trans_No_E); report.SetParameterValue("par_Trans_Vendor", s_par_Trans_Vendor_S + " ~ " + s_par_Trans_Vendor_E); report.SetParameterValue("par_Routee", s_par_Route_S + " ~ " + s_par_Route_E); report.SetParameterValue("par_StoreChain", s_par_StoreChain_S + " ~ " + s_par_StoreChain_E); report.SetParameterValue("par_Report", s_par_Report); #region 判斷輸出檔案型態並輸出 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; #endregion } report.Close(); }
/// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> /// /// <param name="reportFormatType">檔案型態</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); string s_par_Reqno = string.Empty; string s_par_Rolecode = string.Empty; string s_par_UserID = string.Empty; string s_par_UseName = string.Empty; string s_par_Signdate = string.Empty; string s_par_ReqLevel = string.Empty; string s_par_ReqType = string.Empty; string s_par_ReqStatus = string.Empty; string s_par_SysDesc = string.Empty; string s_par_WantDate = string.Empty; string s_par_ReqGist = string.Empty; string s_par_ReqDesc = string.Empty; s_par_Reqno = dt_Source.Rows[0]["REQ_NO"].ToString(); s_par_Rolecode = dt_Source.Rows[0]["ROLECODE"].ToString(); s_par_UseName = dt_Source.Rows[0]["USER_NAME"].ToString(); if (dt_Source.Rows[0]["SIGN_DATE"].ToString() != "") { s_par_Signdate = DateTime.Parse(dt_Source.Rows[0]["SIGN_DATE"].ToString()).ToString("yyyy/MM/dd"); } s_par_ReqLevel = dt_Source.Rows[0]["REQ_LEVEL"].ToString(); s_par_ReqType = dt_Source.Rows[0]["REQ_TYPE"].ToString(); s_par_ReqStatus = dt_Source.Rows[0]["REQ_STATUS"].ToString(); s_par_SysDesc = dt_Source.Rows[0]["SYSDESC"].ToString(); if (dt_Source.Rows[0]["WANT_DATE"].ToString() != "") { s_par_WantDate = DateTime.Parse(dt_Source.Rows[0]["WANT_DATE"].ToString()).ToString("yyyy/MM/dd"); } s_par_ReqGist = dt_Source.Rows[0]["REQ_GIST"].ToString(); s_par_ReqDesc = dt_Source.Rows[0]["REQ_DESC"].ToString(); report.SetParameterValue("par_Reqno", s_par_Reqno); report.SetParameterValue("par_Rolecode", s_par_Rolecode); report.SetParameterValue("par_UseName", s_par_UseName); report.SetParameterValue("par_Signdate", s_par_Signdate); report.SetParameterValue("par_ReqLevel", s_par_ReqLevel); report.SetParameterValue("par_ReqType", s_par_ReqType); report.SetParameterValue("par_ReqStatus", s_par_ReqStatus); report.SetParameterValue("par_SysDesc", s_par_SysDesc); report.SetParameterValue("par_WantDate", s_par_WantDate); report.SetParameterValue("par_ReqGist", s_par_ReqGist); report.SetParameterValue("par_ReqDesc", s_par_ReqDesc); //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; } }
/// <summary> /// show報表 /// </summary> private void ShowReport(DataTable Dt) { try { string strFileName = ""; CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); if (TabContainer2.ActiveTabIndex == 0) { report.Load(Server.MapPath("./REPORT/MKT07/CRMKT07R01.rpt")); strFileName = HttpUtility.UrlEncode("PMA(大分類)銷售查詢.PDF", System.Text.Encoding.UTF8); } if (TabContainer2.ActiveTabIndex == 1) { report.Load(Server.MapPath("./REPORT/MKT07/CRMKT07R02.rpt")); strFileName = HttpUtility.UrlEncode("PMA(中分類)銷售查詢.PDF", System.Text.Encoding.UTF8); } if (TabContainer2.ActiveTabIndex == 2) { report.Load(Server.MapPath("./REPORT/MKT07/CRMKT07R03.rpt")); strFileName = HttpUtility.UrlEncode("PMA(小分類)銷售查詢.PDF", System.Text.Encoding.UTF8); } report.SetDataSource(Dt); string Login_Name = ((DataTable)Session["UserInfo"]).Rows[0]["Name"].ToString(); report.SetParameterValue("par_Program_ID", "MKT07"); report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name); report.SetParameterValue("par_StAcceptDate", SLP_MDC_START_DATE.StartDate + "~" + SLP_MDC_START_DATE.EndDate); if (TabContainer2.ActiveTabIndex == 0) { report.SetParameterValue("par_ROOTDate", SLP_ROOT_NO_S.Text + Page.Request.Form[SLP_ROOT_NO_S.TextBox_Name.UniqueID] + "~" + SLP_ROOT_NO_E.Text + Page.Request.Form[SLP_ROOT_NO_E.TextBox_Name.UniqueID]); report.SetParameterValue("par_PMADate", SLP_PMA_S.Text + Page.Request.Form[SLP_PMA_S.TextBox_Name.UniqueID] + "~" + SLP_PMA_E.Text + Page.Request.Form[SLP_PMA_E.TextBox_Name.UniqueID]); } if (TabContainer2.ActiveTabIndex == 1) { report.SetParameterValue("par_ROOTDate", SLP_ROOT_NO_S.Text + Page.Request.Form[SLP_ROOT_NO_S.TextBox_Name.UniqueID] + "~" + SLP_ROOT_NO_E.Text + Page.Request.Form[SLP_ROOT_NO_E.TextBox_Name.UniqueID]); report.SetParameterValue("par_PMADate", SLP_PMA_S.Text + Page.Request.Form[SLP_PMA_S.TextBox_Name.UniqueID] + "~" + SLP_PMA_E.Text + Page.Request.Form[SLP_PMA_E.TextBox_Name.UniqueID]); report.SetParameterValue("par_CATEGORYDate", SLP_CATEGORY_S.Text + Page.Request.Form[SLP_CATEGORY_S.TextBox_Name.UniqueID] + "~" + SLP_CATEGORY_E.Text + Page.Request.Form[SLP_CATEGORY_E.TextBox_Name.UniqueID]); } if (TabContainer2.ActiveTabIndex == 2) { report.SetParameterValue("par_ROOTDate", SLP_ROOT_NO_S.Text + Page.Request.Form[SLP_ROOT_NO_S.TextBox_Name.UniqueID] + "~" + this.SLP_ROOT_NO_E.Text + Page.Request.Form[SLP_ROOT_NO_E.TextBox_Name.UniqueID]); report.SetParameterValue("par_PMADate", SLP_PMA_S.Text + Page.Request.Form[SLP_PMA_S.TextBox_Name.UniqueID] + "~" + SLP_PMA_E.Text + Page.Request.Form[SLP_PMA_E.TextBox_Name.UniqueID]); report.SetParameterValue("par_CATEGORYDate", SLP_CATEGORY_S.Text + Page.Request.Form[SLP_CATEGORY_S.TextBox_Name.UniqueID] + "~" + SLP_CATEGORY_E.Text + Page.Request.Form[SLP_CATEGORY_E.TextBox_Name.UniqueID]); report.SetParameterValue("par_SORTOUTDate", SLP_SORTOUT_S.Text + Page.Request.Form[SLP_SORTOUT_S.TextBox_Name.UniqueID] + "~" + SLP_SORTOUT_E.Text + Page.Request.Form[SLP_SORTOUT_E.TextBox_Name.UniqueID]); } System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + strFileName);//pdf檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } finally { } }
/// <summary> /// 產生報表 /// </summary> /// <param name="dt">DataTable資料</param> /// <param name="exp_type">產生PDF或Excel</param> private void ShowReport(DataTable dt, string exp_type) { try { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(Server.MapPath("./REPORT/VAM111/VAM11R.rpt")); report.SetDataSource(dt); DataTable dt1 = new DataTable(); dt1 = (DataTable)Session["UserInfo"]; string Login_Name = dt1.Rows[0]["Name"].ToString(); //CrystalReport Parameter 參數設定 string Program_ID = string.Empty; string LoginUser = string.Empty; string strParFDate = string.Empty; string strParFSType = string.Empty; string strParFTaxType = string.Empty; Program_ID = this.PageCode + "R"; LoginUser = Session["UID"].ToString(); string V_REPORT_TYPE = ""; //資料選擇 if (rdoType1.Checked) V_REPORT_TYPE = "全部"; if (rdoType2.Checked) V_REPORT_TYPE = "廠商進貨"; if (rdoType3.Checked) V_REPORT_TYPE = "廠商退貨"; report.SetParameterValue("par_Program_ID", Program_ID); report.SetParameterValue("par_LoginUser", LoginUser); report.SetParameterValue("par_LoginName", Login_Name); string inDate = (SLP_SLPDateRange.StartDate + ((SLP_SLPDateRange.StartDate.Length == 0 && SLP_SLPDateRange.EndDate.Length == 0) ? "" : "~") + SLP_SLPDateRange.EndDate); if (inDate == "") inDate = "全部"; report.SetParameterValue("par_Date", "進/退貨日期:" + inDate); //string vendor1 = ((TextBox)((ASP.vdm_slp_slp_vendorbase_ascx)SLP_VendorBase1).FindControl("TextBoxName")).Text; string vendor1 = GetVendorName(SLP_VendorBase1.Text.Trim()); //string vendor2 = ((TextBox)((ASP.vdm_slp_slp_vendorbase_ascx)SLP_VendorBase2).FindControl("TextBoxName")).Text; string vendor2 = GetVendorName(SLP_VendorBase2.Text.Trim()); if (SLP_VendorBase1.Text.Trim().Length != 0 && vendor1 == "") vendor1 = Page.Request.Form[((TextBox)((ASP.vdm_slp_slp_vendorbase_ascx)SLP_VendorBase1).FindControl("TextBoxName")).UniqueID]; if (SLP_VendorBase2.Text.Trim().Length != 0 && vendor2 == "") vendor2 = Page.Request.Form[((TextBox)((ASP.vdm_slp_slp_vendorbase_ascx)SLP_VendorBase2).FindControl("TextBoxName")).UniqueID]; string vendor = (SLP_VendorBase1.Text + vendor1 + ((SLP_VendorBase1.Text.Trim().Length == 0 && SLP_VendorBase2.Text.Trim().Length == 0) ? "" : "~") + SLP_VendorBase2.Text + vendor2); if (SLP_VendorBase1.Text.Trim().Length == 0 && SLP_VendorBase2.Text.Trim().Length == 0) vendor = "全部"; report.SetParameterValue("par_Vendor", "供應商:" + vendor); report.SetParameterValue("par_Tax", "課稅別:" + ((DropDownList)SLP_EnumBase.FindControl("D1")).SelectedItem.Text); report.SetParameterValue("par_Type", "資料選擇:" + V_REPORT_TYPE); //檔案匯出 if (exp_type == "btnExport") { System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); string rpt_name = "供應商暫估貨款明細表.xls"; Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(rpt_name, System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); } else { System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); string rpt_name = "供應商暫估貨款明細表.PDF"; Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(rpt_name, System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); } Response.Flush(); Response.Close(); } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } finally { } }
/// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> /// /// <param name="reportFormatType">檔案型態</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); string s_par_Program_ID = string.Empty; string s_par_LoginUser = string.Empty; string s_par_LoginName = string.Empty; string s_par_1 = string.Empty; string s_par_2 = string.Empty; string s_par_3 = string.Empty; s_par_Program_ID = this.PageCode; s_par_LoginUser = Session["UID"].ToString(); s_par_LoginName = ((DataTable)Session["UserInfo"]).Rows[0]["Name"].ToString(); s_par_1 = SLP_PICK_DATE.StartDate + " ~ " + SLP_PICK_DATE.EndDate; s_par_2 = ddlLineStart.Text + " ~ " + ddlLineEnd.Text; s_par_3 = txtSTATION_NO_S.Text + " ~ " + txtSTATION_NO_E.Text; report.SetParameterValue("par_Program_ID", s_par_Program_ID); report.SetParameterValue("par_LoginUser", s_par_LoginUser); report.SetParameterValue("par_LoginName", s_par_LoginName); report.SetParameterValue("par_1", s_par_1); report.SetParameterValue("par_2", s_par_2); report.SetParameterValue("par_3", s_par_3); report.SetParameterValue("par_Type", reportFormatType); //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; } }
//Crystal Report 直接輸出 PDF 檔 private void ExportReport(DataTable dt) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(Server.MapPath("./REPORT/CGR021R01.rpt")); report.SetDataSource(dt); //CrystalReport Parameter 參數設定 string Program_ID = string.Empty; string LoginUser = string.Empty; Program_ID = this.PageCode.Substring(0, 5) + "R01"; LoginUser = Session["UID"].ToString(); report.SetParameterValue("par_Program_ID", this.PageCode); report.SetParameterValue("par_LoginUser", LoginUser); //檔案匯出 System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("退貨結轉檢核異常報表.PDF", System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); report.Close(); }
private void ShowReport(DataTable Dt) { try { string s_par_Program_ID = string.Empty; string s_par_LoginUser = string.Empty; CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(Server.MapPath("./REPORT/INV021R0" + rblREPORT.SelectedValue + ".rpt")); report.SetDataSource(Dt); DataTable userName = (DataTable)Session["UserInfo"]; string UName = userName.Rows[0]["Name"].ToString(); report.SetParameterValue("par_Program_ID", this.PageCode); report.SetParameterValue("par_LoginUser", Session["UID"].ToString()); report.SetParameterValue("par_LoginUser_Name", UName); System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); string rpt_name = ""; if (rblREPORT.SelectedValue == "1") rpt_name = "儲區庫存匯總表_" + DateTime.Now.ToString("yyyyMMdd") + ".PDF"; else rpt_name = "儲位庫存明細表_" + DateTime.Now.ToString("yyyyMMdd") + ".PDF"; Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(rpt_name, System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } finally { } }
private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": string s_par_Program_ID = string.Empty; string s_par_LoginUser = string.Empty; s_par_Program_ID = this.PageCode; s_par_LoginUser = Session["UID"].ToString(); System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; } }
/// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source) { if (s_FileName.ToLower().IndexOf(".xls") < 0) { s_FileName = s_FileName + ".xls"; } CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); System.IO.Stream stream = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); stream.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel;charset='utf-8'"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("BIG5"); Response.OutputStream.Write(bytes, 0, bytes.Length); Response.Flush(); Response.Close(); report.Close(); }
/// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> /// /// <param name="reportFormatType">檔案型態</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); string par_ProgramID = string.Empty; string par_LoginUser = string.Empty; DropDownList ReasonS = (DropDownList)this.SLP_CodeFileS.FindControl("D1"); DropDownList ReasonE = (DropDownList)this.SLP_CodeFileE.FindControl("D1"); string[] fileds ={ "STORE" }; DataTable Dt = SelectDistinct(dt_Source, fileds); #region 前置檢查與參數過濾 string par_S_PDate = this.SLP_SLPDateRangeOut.StartDate; string par_E_PDate = this.SLP_SLPDateRangeOut.EndDate; string par_S_ChanNo = this.SLP_StoreChainS.Text + " " + this.SLP_StoreChainS.Name; string par_E_ChanNo = this.SLP_StoreChainE.Text + " " + this.SLP_StoreChainE.Name; string par_AcceptDate = this.SLP_SLPDate.Text; string par_S_Route = this.SLP_RouteS.Text + " " + this.SLP_RouteS.Name; string par_E_Route = this.SLP_RouteE.Text + " " + this.SLP_RouteE.Name; string par_S_ReasonNo = ReasonS.SelectedValue + " " + ReasonS.SelectedItem.Text; string par_E_ReasonNo = ReasonE.SelectedValue + " " + ReasonE.SelectedItem.Text; string par_S_Store = this.SLP_StoreS.Text + " " + this.SLP_StoreS.Name; string par_E_Store = this.SLP_StoreE.Text + " " + this.SLP_StoreE.Name; par_ProgramID = this.PageCode; par_LoginUser = Session["UID"].ToString(); string par_STORE_CNT = Dt.Rows.Count.ToString(); #endregion #region 組合查詢條件至ArrayList ArrayList returnList = new ArrayList(); returnList.Clear(); report.SetParameterValue("par_S_PDate", par_S_PDate); report.SetParameterValue("par_E_PDate", par_E_PDate); report.SetParameterValue("par_S_ChanNo", par_S_ChanNo); report.SetParameterValue("par_E_ChanNo", par_E_ChanNo); report.SetParameterValue("par_AcceptDate", par_AcceptDate); report.SetParameterValue("par_S_Route", par_S_Route); report.SetParameterValue("par_E_Route", par_E_Route); report.SetParameterValue("par_S_ReasonNo", par_S_ReasonNo); report.SetParameterValue("par_E_ReasonNo", par_E_ReasonNo); report.SetParameterValue("par_S_Store", par_S_Store); report.SetParameterValue("par_E_Store", par_E_Store); report.SetParameterValue("par_ProgramID", par_ProgramID); report.SetParameterValue("par_LoginUser", par_LoginUser); report.SetParameterValue("par_STORE_CNT", par_STORE_CNT); #endregion //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; } }
/// <summary> /// 匯出PDF /// </summary> /// <param name="dt">列印資料</param> /// <param name="s_Status">狀態,"Detail"明細表,"Gather"彙總表</param> private void Show_Report2(DataTable dt, string s_Status) { #region //string s_FileName = txt_Out_FileName.Text; string s_FileName = "客服線上紀錄表(明細).pdf"; string s_RptName = "./REPORT/CRM131/CRM131_Report_Detl.rpt"; if (s_Status == "Detail") { s_FileName = "客服線上紀錄表(明細).pdf"; s_RptName = "./REPORT/CRM131/CRM131_Report_Detl.rpt"; } else if (s_Status == "Gather") { s_FileName = "客服線上紀錄表(彙總).pdf"; s_RptName = "./REPORT/CRM131/CRM131_Report_Main.rpt"; } s_FileName = HttpUtility.UrlEncode(s_FileName, System.Text.Encoding.UTF8); report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); #region Load 報表 report.Load(Server.MapPath(s_RptName)); report.SetDataSource(dt); // Set Parameter report.SetParameterValue("par_Program_ID", this.PageCode); report.SetParameterValue("par_LoginUser", Session["UID"].ToString()); report.SetParameterValue("par_DateRange", this.slp_DateRange.StartDate + "~" + this.slp_DateRange.EndDate); report.SetParameterValue("par_StoreChain", this.slp_StoreChain_B.Text + "~" + this.slp_StoreChain_E.Text); report.SetParameterValue("par_Z_O", this.slp_Z_O_B.Text + "~" + this.slp_Z_O_E.Text); #endregion #region 轉出PDF System.IO.Stream stream = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, bytes.Length); stream.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel;charset='utf-8'"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("BIG5"); Response.OutputStream.Write(bytes, 0, bytes.Length); Response.Flush(); Response.Close(); report.Close(); #endregion #endregion }
/// <summary> /// 顯示報表 /// </summary> private void ShowReport(DataSet ds) { #region 利用CrystalReport列印報表 //使用者名稱 DataTable dt1 = new DataTable(); dt1 = (DataTable)Session["UserInfo"]; string Login_Name = dt1.Rows[0]["Name"].ToString(); string strFileName = ""; CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); ReportDocument SubReport = new ReportDocument(); report.Load(Server.MapPath("./REPORT/CAA271/CAA27R01.rpt")); strFileName = HttpUtility.UrlEncode("結帳與開立憑證檢核表.PDF", System.Text.Encoding.UTF8); SubReport = report.OpenSubreport("CAA27R01_1"); SubReport.SetDataSource(ds); report.SetDataSource(ds); report.SetParameterValue("par_Program_ID", "CAA27R01"); report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name); System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + strFileName);//pdf檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); report.Close(); #endregion }
private void ShowReportA(DataTable dtA, DataTable dtB, string V_FORM_TYPE) { #region 利用CrystalReport列印報表 //使用者名稱 DataTable dt1 = new DataTable(); dt1 = (DataTable)Session["UserInfo"]; string Login_Name = dt1.Rows[0]["Name"].ToString(); CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(Server.MapPath("./REPORT/VAM051/VAM052R01.rpt")); DataSet ds = new DataSet(); dtA.TableName = "VAM052_R1"; ds.Tables.Add(dtA.Copy()); dtB.TableName = "VAM052_R2"; ds.Tables.Add(dtB.Copy()); report.SetDataSource(ds); report.SetParameterValue("par_Count", Convert.ToString(dtA.Rows.Count + dtB.Rows.Count)); if (this.hidTYPE.Value == "1") { report.SetParameterValue("par_Program_ID", "註記解除"); report.SetParameterValue("par_YM", this.Label7.Text); report.SetParameterValue("par_Source_date", "註記解除日期/時間:" + System.DateTime.Now.ToLongDateString()); report.SetParameterValue("par_LoginName", "註記解除人員:" + Session["UID"].ToString() + Login_Name); } else { report.SetParameterValue("par_Program_ID", "註記確認"); report.SetParameterValue("par_YM", this.SLP_YearMonth1.Text); report.SetParameterValue("par_Source_date", "註記日期/時間:" + System.DateTime.Now.ToLongDateString()); report.SetParameterValue("par_LoginName", "註記人員:" + Session["UID"].ToString() + Login_Name); } //檔案匯出 if (V_FORM_TYPE == "XLS") { System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("供應商單品結帳.XLS", System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/xls"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); } else { System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode("供應商單品結帳.PDF", System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); } report.Close(); #endregion }
private void ShowReport(DataTable dt, string type) { try { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(Server.MapPath("./REPORT/VAM121/VAM12" + type + "R.rpt")); report.SetDataSource(dt); DataTable dt1 = new DataTable(); dt1 = (DataTable)Session["UserInfo"]; string Login_Name = dt1.Rows[0]["Name"].ToString(); //CrystalReport Parameter 參數設定 string Program_ID = string.Empty; string LoginUser = string.Empty; string strParFDate = string.Empty; string strParFSType = string.Empty; string strParFTaxType = string.Empty; Program_ID = this.PageCode.Substring(0, 5) + "R0" + type; LoginUser = Session["UID"].ToString(); //report.SetParameterValue("par_Program_ID", Program_ID); //report.SetParameterValue("par_LoginUser", LoginUser); //report.SetParameterValue("par_LoginName", Login_Name); System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //Export File Response.ClearContent(); Response.ClearHeaders(); string rpt_name = string.Empty; rpt_name = "進項憑證明細表_折讓單套表.PDF"; Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(rpt_name, System.Text.Encoding.UTF8));//匯出檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); } catch (Exception ex) { ErrorMsgLabel.Text = ex.Message; } finally { } }
/// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> /// /// <param name="reportFormatType">檔案型態</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": string s_par_Program_ID = string.Empty; string s_par_LoginUser = string.Empty; string s_par_DateRange = string.Empty; string s_par_StoreChan = string.Empty; String s_par_Route = string.Empty; s_par_Program_ID = this.PageCode; s_par_LoginUser = Session["UID"].ToString(); s_par_DateRange = slpStAcceptDate.StartDate.ToString().Trim() + " ~ " + slpStAcceptDate.EndDate.ToString().Trim(); s_par_StoreChan = SLP_StoreChain.Text + " " + ((TextBox)this.SLP_StoreChain.FindControl("TextBoxName")).Text; s_par_Route = this.txtRouteStart.Text + " " + ((TextBox)this.txtRouteStart.FindControl("TextBoxName")).Text + " ~ " + this.txtRouteEnd.Text + " " + ((TextBox)this.txtRouteEnd.FindControl("TextBoxName")).Text; report.SetParameterValue("par_Program_ID", s_par_Program_ID); report.SetParameterValue("par_LoginUser", s_par_LoginUser); report.SetParameterValue("par_DateRange", s_par_DateRange); report.SetParameterValue("par_StoreChan", s_par_StoreChan); report.SetParameterValue("par_Route", s_par_Route); System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; } }
/// <summary> /// 利用 CrystalReport 列印 Excel 報表 /// </summary> /// <param name="s_FileName">Excel報表的檔名</param> /// <param name="s_rptFilePath">rpt檔的路徑</param> /// <param name="dt_Source">要列印的資料</param> /// /// <param name="reportFormatType">檔案型態</param> private void LoadCrystalReport(string s_FileName, string s_rptFilePath, DataTable dt_Source, string reportFormatType) { CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); report.Load(s_rptFilePath); report.SetDataSource(dt_Source); //判斷輸出檔案型態 switch (reportFormatType) { case "EXCEL": System.IO.Stream streamXLS = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel); byte[] bytesXLS = new byte[streamXLS.Length]; streamXLS.Read(bytesXLS, 0, bytesXLS.Length); streamXLS.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/vnd.ms-excel"; Response.OutputStream.Write(bytesXLS, 0, bytesXLS.Length); Response.Flush(); Response.Close(); break; case "PDF": string s_par_Program_ID = string.Empty; string s_par_LoginUser = string.Empty; string s_par_Trans = string.Empty; string s_par_TruckNo = string.Empty; s_par_Program_ID = this.PageCode; s_par_LoginUser = Session["UID"].ToString(); s_par_Trans = this.SLP_TRANS_NO_S.Text + " " + ((DropDownList)SLP_TRANS_NO_S.FindControl("D1")).SelectedItem.Text + " ~ " + this.SLP_TRANS_NO_E.Text + " " + ((DropDownList)SLP_TRANS_NO_E.FindControl("D1")).SelectedItem.Text; s_par_TruckNo = this.TRUCK_NO_S.Text + " ~ " + this.TRUCK_NO_E.Text; report.SetParameterValue("par_Program_ID", s_par_Program_ID); report.SetParameterValue("par_LoginUser", s_par_LoginUser); report.SetParameterValue("par_Trans", s_par_Trans); report.SetParameterValue("par_TruckNo", s_par_TruckNo); System.IO.Stream streamPDF = report.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); byte[] bytesPDF = new byte[streamPDF.Length]; streamPDF.Read(bytesPDF, 0, bytesPDF.Length); streamPDF.Seek(0, System.IO.SeekOrigin.Begin); //export file Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("content-disposition", "attachment;filename=" + s_FileName);//excel檔名 Response.ContentType = "application/pdf"; Response.OutputStream.Write(bytesPDF, 0, bytesPDF.Length); Response.Flush(); Response.Close(); break; default: break; } report.Close(); }
public ActionResult ExportData_View_IU(ApplicationHeaderInfo pInfo, A05_Info pDetail, List <AppDocumentInfo> pAppDocumentInfo, List <AppFeeFixInfo> pFeeFixInfo, List <Other_MasterInfo> pOther_MasterInfo, List <AppClassDetailInfo> pAppClassInfo, List <AppDocumentOthersInfo> pAppDocOtherInfo ) { try { string _datetimenow = DateTime.Now.ToString("ddMMyyyyHHmm"); string language = AppsCommon.GetCurrentLang(); var objBL = new A05_BL(); List <A05_Info_Export> _lst = new List <A05_Info_Export>(); string p_appCode = "A05_Preview"; string fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "A05_VN_" + _datetimenow + ".pdf"); if (language == Language.LangVI) { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "A05_VN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "A05_VN_" + _datetimenow + ".pdf"; } else { fileName_pdf = System.Web.HttpContext.Current.Server.MapPath("/Content/Export/" + "A05_EN_" + _datetimenow + ".pdf"); SessionData.CurrentUser.FilePreview = "/Content/Export/" + "A05_EN_" + _datetimenow + ".pdf"; } A05_Info_Export _A05_Info_Export = new A05_Info_Export(); if (string.IsNullOrEmpty(pDetail.IMG_URL)) { pDetail.IMG_URL = pDetail.IMG_URLOrg; } if (pDetail.pfileLogo != null) { pDetail.IMG_URL = AppLoadHelpers.PushFileToServer(pDetail.pfileLogo, AppUpload.Logo); } A05_Info_Export.CopyA05_Info(ref _A05_Info_Export, pDetail); _A05_Info_Export.IMG_URL = Server.MapPath(_A05_Info_Export.IMG_URL); // Phí cố định List <AppFeeFixInfo> _lstFeeFix = Call_Fee.CallFee_A05(pDetail, pAppDocumentInfo); Prepare_Data_Export_A05(ref _A05_Info_Export, pInfo, pAppDocumentInfo, _lstFeeFix, pOther_MasterInfo, pAppDocOtherInfo); _lst.Add(_A05_Info_Export); DataSet _ds_all = ConvertData.ConvertToDataSet <A05_Info_Export>(_lst, false); //_ds_all.WriteXml(@"C:\inetpub\A05.xml", XmlWriteMode.WriteSchema); CrystalDecisions.CrystalReports.Engine.ReportDocument oRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); string _tempfile = "A05.rpt"; if (pInfo.View_Language_Report == Language.LangEN) { _tempfile = "A05_EN.rpt"; } oRpt.Load(Path.Combine(Server.MapPath("~/Report/"), _tempfile)); #region Set vị trí ảnh CrystalDecisions.CrystalReports.Engine.PictureObject _pic01; _pic01 = (CrystalDecisions.CrystalReports.Engine.PictureObject)oRpt.ReportDefinition.Sections[0].ReportObjects["Picture1"]; _pic01.Width = 200; _pic01.Height = 200; try { pDetail.IMG_URL = Server.MapPath(pDetail.IMG_URL); Bitmap img = new Bitmap(pDetail.IMG_URL); try { double _Const = 6.666666666666 / 2; int _left = 0, _top = 0, _marginleft = 225, _margintop = 3540; int _h = 600; double _d1 = (_h - img.Width) / 2; _d1 = _Const * _d1; _left = _marginleft + Convert.ToInt32(_d1); if (_left < 0) { _left = _marginleft; } _pic01.Left = _left; // top _d1 = (_h - img.Height) / 2; _d1 = _Const * _d1; _top = _margintop + Convert.ToInt32(_d1); if (_top < 0) { _top = _margintop; } _pic01.Top = _top; } catch (Exception ex) { Logger.LogException(ex); } finally { img.Dispose(); } } catch (Exception) { } System.IO.FileInfo file = new System.IO.FileInfo(pDetail.IMG_URL); #endregion if (_ds_all != null) { _ds_all.Tables[0].TableName = "Table1"; oRpt.SetDataSource(_ds_all); } oRpt.Refresh(); Response.Buffer = false; Response.ClearContent(); Response.ClearHeaders(); System.IO.Stream oStream = oRpt.ExportToStream(ExportFormatType.PortableDocFormat); byte[] byteArray = new byte[oStream.Length]; oStream.Read(byteArray, 0, Convert.ToInt32(oStream.Length - 1)); System.IO.File.WriteAllBytes(fileName_pdf, byteArray.ToArray()); // Requires System.Linq return(Json(new { success = 0 })); } catch (Exception ex) { Logger.LogException(ex); return(Json(new { success = 0 })); } }