private void rptPDFReferencia(String Reporte, String Nombre, String Referencia)
        {
            System.Web.UI.Page p = new System.Web.UI.Page();
            CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

            try
            {
                // ConnectionInfo connectionInfo = new ConnectionInfo();
                //string J = System.AppDomain.CurrentDomain.BaseDirectory + Reporte;
                report.Load(p.Server.MapPath("~") + Reporte);
                //report.Load(System.AppDomain.CurrentDomain.BaseDirectory + Reporte);
                report.SetParameterValue(0, Referencia);
                report.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "FichaReferenciada-" + Nombre.Substring(0, 15));
            }
            catch (Exception ex)
            {
            }
            finally
            {
                CR_Reportes.ReportSource = report;
                report.Close();
                report.Dispose();
                CR_Reportes.Dispose();
                GC.Collect();
            }
        }
        private void rptPDF_Ingresos(String Reporte, object[] Parametros, string NombreReporte)
        {
            System.Web.UI.Page p = new System.Web.UI.Page();
            CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

            try
            {
                ConnectionInfo connectionInfo = new ConnectionInfo();
                p = new System.Web.UI.Page();
                report.Load(p.Server.MapPath("~") + "\\" + Reporte);

                for (int i = 0; i <= Parametros.Length - 1; i++)
                {
                    report.SetParameterValue(i, Parametros[i]);
                }

                connectionInfo.ServerName = "dsia";
                connectionInfo.UserID     = "ingresos";
                connectionInfo.Password   = "******";
                SetDBLogonForReport(connectionInfo, report);
                report.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, NombreReporte);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                CR_Reportes.ReportSource = report;
                report.Close();
                report.Dispose();
                CR_Reportes.Dispose();
                GC.Collect();
            }
        }
        private void rptPDFAdjunto(String Reporte, String Nombre, String Referencia, String Importe, String Vigencia, String Concepto, String Observaciones)
        {
            System.Web.UI.Page p = new System.Web.UI.Page();
            CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

            try
            {
                report.Load(p.Server.MapPath("~") + Reporte);
                report.SetParameterValue(0, Nombre);
                report.SetParameterValue(1, Referencia);
                report.SetParameterValue(2, Importe);
                report.SetParameterValue(3, Vigencia);
                report.SetParameterValue(4, Concepto);
                report.SetParameterValue(5, Observaciones);
                report.PrintOptions.PaperSize = PaperSize.PaperLetter;
                string archivo = p.Server.MapPath("~") + "/ArchivoReferencia/Referencia - " + Referencia + ".PDF";
                report.ExportToDisk(ExportFormatType.PortableDocFormat, archivo); // "FichaReferenciada-" + Nombre.Substring(0, 15));
            }
            catch (Exception ex)
            {
                lblMensajeCorreo.Text = ex.Message;
            }
            finally
            {
                //CR_Reportes.ReportSource = report;
                report.Close();
                report.Dispose();
                //CR_Reportes.Dispose();
            }
        }
예제 #4
0
 protected void CrystalReportViewer1_Unload(object sender, EventArgs e)
 {
     if (cr != null)
     {
         cr.Close();
         cr.Dispose();
         GC.Collect();
     }
 }
 private string generatefiles(DataSet ds, string fromdate, string todate, string FirstPath, DataTable mailsetting)
 {
     try
     {
         DataTable dt1                        = ds.Tables[0];
         DataView  dv                         = new DataView(ds.Tables[1]);
         string    strAttachFirst             = string.Empty;
         string    strAttachSecond            = string.Empty;
         bool      isSendData                 = false;
         System.Collections.ArrayList objList = new ArrayList();
         objList.Add(MailSetting(mailsetting));
         CrystalDecisions.CrystalReports.Engine.ReportDocument crystalReport;
         foreach (DataRow Row in dt1.Rows)
         {
             MailDetails objMails = new MailDetails();
             dv.RowFilter  = "CustID = " + Row["custid"].ToString();
             crystalReport = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
             crystalReport.Load(Server.MapPath("../Report/AutoOSMailCustomer.rpt"));
             crystalReport.SetDataSource(dv.ToTable());
             isSendData     = dv.ToTable().Rows.Count > 0 ? true : false;
             strAttachFirst = Server.MapPath(FirstPath + "CustomerOS_" + Convert.ToDateTime(fromdate).ToString("dd-MMM-yyyy") + "_" + Convert.ToDateTime(todate).ToString("dd-MMM-yyyy") + "_" + Row["custid"].ToString() + ".pdf");
             crystalReport.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, strAttachFirst);
             crystalReport.Close();
             crystalReport.Dispose();
             crystalReport       = null;
             objMails.Attachment = strAttachSecond != "" ? strAttachFirst + "," + strAttachSecond : strAttachFirst;
             objMails.Name       = Row["custName"].ToString();
             objMails.EmailId    = Row["EmailID"].ToString();
             string makesubject = "Chetana Publications :: Outstanding Statement :: from " + Convert.ToDateTime(fromdate).ToString("dd-MMM-yyyy") + " to " + Convert.ToDateTime(todate).ToString("dd-MMM-yyyy");
             objMails.Subject = makesubject;
             objMails.Desc    = makesubject;
             if (isSendData)
             {
                 objList.Add(objMails);
             }
             objMails = null;
         }
         return(JsonConvert.SerializeObject(objList));
     }
     catch (Exception ex)
     {
         throw;
     }
 }
        private void rptPDFAdjunto(String Reporte, String Nombre, String Referencia, Double Importe, String Vigencia, String Concepto, String Observaciones)
        {
            System.Web.UI.Page p = new System.Web.UI.Page();
            CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

            try
            {
                // ConnectionInfo connectionInfo = new ConnectionInfo();
                //string J = System.AppDomain.CurrentDomain.BaseDirectory + Reporte;
                report.Load(p.Server.MapPath("~") + Reporte);
                //report.Load(System.AppDomain.CurrentDomain.BaseDirectory + Reporte);
                report.SetParameterValue(0, Nombre);
                report.SetParameterValue(1, Referencia);
                report.SetParameterValue(2, Importe);
                report.SetParameterValue(3, Vigencia);
                report.SetParameterValue(4, Concepto);
                report.SetParameterValue(5, Observaciones);
                report.PrintOptions.PaperSize = PaperSize.PaperLetter;
                //connectionInfo.ServerName = "ucad";
                //connectionInfo.UserID = "ingresos";
                //connectionInfo.Password = "******";
                //SetDBLogonForReport(connectionInfo, report);
                string archivo = p.Server.MapPath("~") + "/ArchivoReferencia/Referencia - " + Referencia + ".PDF";
                //report.SaveAs(archivo);
                report.ExportToDisk(ExportFormatType.PortableDocFormat, archivo); // "FichaReferenciada-" + Nombre.Substring(0, 15));
                //report.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "Referencia - " + Referencia);
            }
            catch (Exception ex)
            {
            }
            finally
            {
                CR_Reportes.ReportSource = report;
                report.Close();
                report.Dispose();
                CR_Reportes.Dispose();
                GC.Collect();
            }
        }
        private void rptReporte_FE(String Reporte, object[] Valores)
        {
            System.Web.UI.Page p = new System.Web.UI.Page();
            CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
            try
            {
                ConnectionInfo connectionInfo = new ConnectionInfo();
                p = new System.Web.UI.Page();
                report.Load(p.Server.MapPath("~") + "\\" + Reporte);
                for (int i = 0; i <= Valores.Length - 1; i++)
                {
                    report.SetParameterValue(i, Valores[i]);
                }

                report.PrintOptions.PaperSize = PaperSize.PaperLetter;
                connectionInfo.ServerName     = "dsia";
                connectionInfo.UserID         = "felectronica";
                connectionInfo.Password       = "******";
                SetDBLogonForReport(connectionInfo, report);
                report.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "RepComprobanteFiscal");
                //CR_Reportes.ReportSource = report;
                //report.Close();
                //report.Dispose();
            }
            catch (Exception ex)
            {
            }
            finally
            {
                //CR_Reportes.Dispose();
                CR_Reportes.ReportSource = report;
                report.Close();
                report.Dispose();
                CR_Reportes.Dispose();
                GC.Collect();
            }
        }
        private void rptPDF2(String Reporte, string Evento, string Matricula)
        {
            ConnectionInfo connectionInfo = new ConnectionInfo();

            System.Web.UI.Page p = new System.Web.UI.Page();
            CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

            try
            {
                report.Load(p.Server.MapPath("~") + Reporte);
                report.SetParameterValue(0, Matricula);
                report.SetParameterValue(1, Evento);
                report.PrintOptions.PaperSize = PaperSize.PaperLetter;
                connectionInfo.ServerName     = "dsia";
                connectionInfo.UserID         = "ingresos";
                connectionInfo.Password       = "******";
                SetDBLogonForReport(connectionInfo, report);
                report.ExportToHttpResponse(ExportFormatType.PortableDocFormat, Response, false, "FichaReferenciada");
                //CR_Reportes.ReportSource = report;
                //report.Close();
                //report.Dispose();
            }
            catch (Exception ex)
            {
            }
            finally
            {
                //CR_Reportes.ReportSource = report;
                //CR_Reportes.Dispose();
                CR_Reportes.ReportSource = report;
                report.Close();
                report.Dispose();
                CR_Reportes.Dispose();
                GC.Collect();
            }
        }
예제 #9
0
    //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();
    }
예제 #10
0
        // <JG> 03/08/2017 externalisation méthode export PDF
        static internal void ExportPDF(string report_path, Model.Sage.Piece Piece, uint TypeDoc, String CT_Num, string temp_file)
        {
            #region PDF
            CrystalDecisions.CrystalReports.Engine.ReportDocument Etat = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

            Etat.Load(report_path);

            if (Etat.ParameterFields.Count == 0)
            {
                Etat.RecordSelectionFormula = "{Commande.DO_Piece} = '" + Piece.DO_Piece + "'";
            }

            // fonctions avec application sur les sous-états
            Core.PrintCrystal.Logon(Etat, Core.Global.GetConnectionInfos().SageServer, Core.Global.GetConnectionInfos().SageIntegratedSecurity, Core.Global.GetConnectionInfos().SageDatabase, Core.Global.GetConnectionInfos().SageSQLUser, Core.Global.GetConnectionInfos().SageSQLPass);

            Etat.Refresh();

            if (Etat.ParameterFields.Count > 0)
            {
                Etat.SetParameterValue("piece", Piece.DO_Piece);
            }

            Etat.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, temp_file);
            Etat.Close();

            if (Core.Global.GetConfig().ModuleAECInvoiceHistoryArchivePDFActive &&
                System.IO.Directory.Exists(Core.Global.GetConfig().ModuleAECInvoiceHistoryArchivePDFFolder))
            {
                string path = null;
                if (!string.IsNullOrWhiteSpace(CT_Num))
                {
                    path = System.IO.Path.Combine(Core.Global.GetConfig().ModuleAECInvoiceHistoryArchivePDFFolder, CT_Num);
                    if (!System.IO.Directory.Exists(path))
                    {
                        System.IO.Directory.CreateDirectory(path);
                    }
                    switch (TypeDoc)
                    {
                    case 1:
                        path = System.IO.Path.Combine(path, "Order");
                        break;

                    case 7:
                        path = System.IO.Path.Combine(path, "Invoice");
                        break;

                    default:
                        break;
                    }
                    if (!System.IO.Directory.Exists(path))
                    {
                        System.IO.Directory.CreateDirectory(path);
                    }

                    path = System.IO.Path.Combine(path, Piece.DO_Piece + ".pdf");
                }
                if (path != null)
                {
                    System.IO.File.Copy(temp_file, path, true);
                }
            }

            #endregion
        }
예제 #11
0
    /// <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
    }
예제 #12
0
        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;charset='utf-8'";
                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;
                s_par_Program_ID = this.PageCode;
                s_par_LoginUser = Session["UID"].ToString();

                s_par_DATE = this.SLP_STAcceptDate.StartDate + " ~ " + this.SLP_STAcceptDate.EndDate;

                report.SetParameterValue("par_Program_ID", s_par_Program_ID);
                report.SetParameterValue("par_LoginUser", s_par_LoginUser);
                report.SetParameterValue("par_DATE", s_par_DATE);

                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;
예제 #13
0
    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
    }
예제 #14
0
    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
    }
예제 #15
0
    private string generatefiles(DataSet ds, DataSet ds1, DataTable dt1, string fromdate, string todate, string s_fromdate, string s_todate, string FirstPath, string SecondPath, DataTable mailsetting)
    {
        try
        {
            bool     isSecondDataPresent = false;
            DataView dv              = new DataView(ds.Tables[0]);
            DataView dv1             = new DataView();
            bool     isSendFirstData = false;
            bool     isSendSecondata = false;

            if (ds1 != null)
            {
                isSecondDataPresent = true;
                dv1.Table           = ds1.Tables[0];
            }

            string strAttachFirst  = string.Empty;
            string strAttachSecond = string.Empty;
            System.Collections.ArrayList objList = new ArrayList();
            objList.Add(MailSetting(mailsetting));
            CrystalDecisions.CrystalReports.Engine.ReportDocument crystalReport;
            foreach (DataRow Row in dt1.Rows)
            {
                MailDetails objMails = new MailDetails();

                #region First Data
                dv.RowFilter  = "Superzone = " + Row["SuperZoneID"].ToString();
                crystalReport = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
                crystalReport.Load(Server.MapPath("../Report/CollectionReport.rpt"));
                crystalReport.SetDataSource(dv.ToTable());
                isSendFirstData = dv.ToTable().Rows.Count > 0 ? true : false;
                strAttachFirst  = Server.MapPath(FirstPath + "Wkly_Col_" + Convert.ToDateTime(fromdate).ToString("dd-MMM-yy") + "_" + Convert.ToDateTime(todate).ToString("dd-MMM-yyyy") + "_" + Row["SuperZoneID"].ToString() + ".pdf");
                crystalReport.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, strAttachFirst);
                crystalReport.Close();
                crystalReport.Dispose();
                crystalReport = null;
                #endregion

                #region "Second Data"

                if (isSecondDataPresent)
                {
                    dv1.RowFilter = "Superzone = " + Row["SuperZoneID"].ToString();
                    crystalReport = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
                    crystalReport.Load(Server.MapPath("../Report/CollectionReport.rpt"));
                    crystalReport.SetDataSource(dv1.ToTable());
                    isSendSecondata = dv1.ToTable().Rows.Count > 0 ? true : false;
                    strAttachSecond = Server.MapPath(SecondPath + "_Wkly_Col_" + Convert.ToDateTime(s_fromdate).ToString("dd-MMM-yy") + "_" + Convert.ToDateTime(s_todate).ToString("dd-MMM-yy") + "_" + Row["SuperZoneID"].ToString() + ".pdf");
                    crystalReport.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, strAttachSecond);
                    crystalReport.Close();
                    crystalReport.Dispose();
                    crystalReport = null;
                }

                #endregion
                objMails.Attachment = strAttachSecond != "" ? strAttachFirst + "," + strAttachSecond : strAttachFirst;
                objMails.Name       = Row["SuperZoneName"].ToString();
                objMails.EmailId    = Row["Email"].ToString();
                string makesubject = "Collection from " + (isSecondDataPresent == true ? Convert.ToDateTime(fromdate).ToString("dd-MMM-yyyy") + " TO " + Convert.ToDateTime(todate).ToString("dd-MMM-yyyy") + " &  " + Convert.ToDateTime(s_fromdate).ToString("dd-MMM-yyyy") + " TO " + Convert.ToDateTime(s_todate).ToString("dd-MMM-yyyy") : Convert.ToDateTime(fromdate).ToString("dd-MMM-yyyy") + " TO " + Convert.ToDateTime(todate).ToString("dd-MMM-yyyy"));
                objMails.Subject = makesubject;
                objMails.Desc    = makesubject;
                if (isSendFirstData)
                {
                    objList.Add(objMails);
                }
                objMails = null;
            }
            return(JsonConvert.SerializeObject(objList));
        }
        catch (Exception ex)
        {
            throw;
        }
    }
예제 #16
0
    /// <summary>
    /// 顯示報表
    /// </summary>
    private void ShowReport(DataTable dt, string strPRINT_TYPE)
    {
        #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();

        if (this.rdoRPT_TYPE.SelectedIndex == 1)
        {
            report.Load(Server.MapPath("./REPORT/CAM30/CAM30R01.rpt"));
            strFileName = HttpUtility.UrlEncode("CAM30R01_帳差統計匯總表_結算匯總." + strPRINT_TYPE, System.Text.Encoding.UTF8);
        }
        else
        {
            report.Load(Server.MapPath("./REPORT/CAM30/CAM30R02.rpt"));
            strFileName = HttpUtility.UrlEncode("CAM30R02_帳差統計明細表_結算明細." + strPRINT_TYPE, System.Text.Encoding.UTF8);
        }

        report.SetDataSource(dt);

        report.SetParameterValue("par_Program_ID", rdoRPT_TYPE.SelectedIndex == 1 ? "CAM30R01" : "CAM30R02");
        report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name);
        report.SetParameterValue("par_Group", slp_GROUP_NO_S.Text + ((TextBox)slp_GROUP_NO_S.FindControl("TextBoxName")).Text.Replace("查無資料", "") + (string.IsNullOrEmpty(slp_GROUP_NO_S.Text) ? "" : "~") + slp_GROUP_NO_E.Text + ((TextBox)slp_GROUP_NO_E.FindControl("TextBoxName")).Text.Replace("查無資料", ""));
        report.SetParameterValue("par_Store", slp_STORE.Text + ((TextBox)slp_STORE.FindControl("TextBoxName")).Text.Replace("查無資料", ""));
        report.SetParameterValue("par_RootNo", slp_ROOT_NO.Text + ((TextBox)slp_ROOT_NO.FindControl("TextBoxName")).Text.Replace("查無資料", ""));
        report.SetParameterValue("par_acDate", slp_ACCT_MONTH_S.Text + (string.IsNullOrEmpty(slp_ACCT_MONTH_S.Text) ? "" : "~") + slp_ACCT_MONTH_E.Text);
        report.SetParameterValue("pay_payRfno", txtPAY_RFNO.Text);
        report.SetParameterValue("pay_rfno", txtRFNO.Text);
        report.SetParameterValue("par_profit", slp_PROFIT_CENTER_S.Text + ((TextBox)slp_PROFIT_CENTER_S.FindControl("TextBoxName")).Text.Replace("查無資料", "") + (string.IsNullOrEmpty(slp_PROFIT_CENTER_S.Text) ? "" : "~") + slp_PROFIT_CENTER_E.Text + ((TextBox)slp_PROFIT_CENTER_E.FindControl("TextBoxName")).Text.Replace("查無資料", ""));
        if (slp_TAX_TYPE.Text == "0")
        {
            report.SetParameterValue("par_TaxType", "應稅");
        }
        else if (slp_TAX_TYPE.Text == "1")
        {
            report.SetParameterValue("par_TaxType", "免稅");
        }
        else if (slp_TAX_TYPE.Text == "2")
        {
            report.SetParameterValue("par_TaxType", "零稅");
        }
        else
        {
            report.SetParameterValue("par_TaxType", "");
        }

        System.IO.Stream stream = null;
        byte[] b = null;
        stream = (strPRINT_TYPE == "PDF" ? report.ExportToStream(ExportFormatType.PortableDocFormat) : report.ExportToStream(ExportFormatType.Excel));
        b = new byte[stream.Length];
        stream.Read(b, 0, b.Length);
        stream.Seek(0, System.IO.SeekOrigin.Begin);
        Response.ClearContent();
        Response.ClearHeaders();
        Response.AddHeader("content-disposition", "attachment;filename=" + strFileName);
        Response.ContentType = (strPRINT_TYPE == "PDF" ? "application/pdf" : "application/vnd.ms-excel");
        Response.OutputStream.Write(b, 0, b.Length);
        Response.Flush();
        Response.Close();
        report.Close();
        #endregion
    }
예제 #17
0
    private void ShowReport2(DataTable dt, string strPRINT_TYPE)
    {
        #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();

        if (this.rbtTAB3_RPT_TYPE.SelectedValue == "0")
        {
            report.Load(Server.MapPath("./REPORT/CAM30/CAM30R08.rpt"));
            strFileName = HttpUtility.UrlEncode("CAM30R08_單品帳差彚總表(品項)." + strPRINT_TYPE, System.Text.Encoding.UTF8);
        }

        report.SetDataSource(dt);

        if (this.rbtTAB3_RPT_TYPE.SelectedIndex == 0)
        {
            report.SetParameterValue("par_Program_ID", "CAM30R08");
        }

        report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name);

        string strCloseYM = string.Empty;
        if (slpTAB3_CloseYM_B.Text != "")
            strCloseYM = slpTAB3_CloseYM_B.Text + " ~ " + slpTAB3_CloseYM_E.Text;

        string strPayDate = string.Empty;
        if (slpTAB3_PayDate.StartDate != "")
            strPayDate = slpTAB3_PayDate.StartDate + " ~ " + slpTAB3_PayDate.EndDate;

        string strSignDate = string.Empty;
        if (slpTAB3_SignDate.StartDate != "")
            strSignDate = slpTAB3_SignDate.StartDate + " ~ " + slpTAB3_SignDate.EndDate;

        string strStoreGroup = string.Empty;
        if (slpTAB3_StoreGroup_B.Text != "")
            strStoreGroup = slpTAB3_StoreGroup_B.Text + " ~ " + slpTAB3_StoreGroup_E.Text;

        string strChanNo = string.Empty;
        if (slpTAB3_CHAN_NO_B.Text != "")
            strChanNo = slpTAB3_CHAN_NO_B.Text + " ~ " + slpTAB3_CHAN_NO_E.Text;

        string strStore = string.Empty;
        if (slpTAB3_STORE_B.Text != "")
            strStore = slpTAB3_STORE_B.Text + " ~ " + slpTAB3_STORE_E.Text;

        string strRFNO = string.Empty;
        if (txtTAB3_RFNO_B.Text != "")
            strRFNO = txtTAB3_RFNO_B.Text + " ~ " + txtTAB3_RFNO_E.Text;

        string strRoot = "ALL";
        if (rbtTAB3_Root.SelectedValue == "1")
            strRoot = "雜誌";
        else if (rbtTAB3_Root.SelectedValue == "2")
            strRoot = "圖書";

        string strSTAKIND = string.Empty;
        if (chkTAB3_STAKIND.Items[0].Selected == true)
            strSTAKIND = "進貨";

        if (chkTAB3_STAKIND.Items[1].Selected == true)
        {
            if (strSTAKIND != "")
                strSTAKIND += "/";
            strSTAKIND += "退貨";
        }
        if (chkTAB3_STAKIND.Items[2].Selected == true)
        {
            if (strSTAKIND != "")
                strSTAKIND += "/";
            strSTAKIND += "補帳";
        }

        if (chkTAB3_STAKIND.Items[3].Selected == true)
        {
            if (strSTAKIND != "")
                strSTAKIND += "/";
            strSTAKIND += "調撥";
        }

        string strTAXTYPE = string.Empty;
        if (rbtTAB3_TAX_TYPE.SelectedValue == "")
            strTAXTYPE = "ALL";
        else if (rbtTAB3_TAX_TYPE.SelectedValue == "0")
            strTAXTYPE = "應稅";
        else if (rbtTAB3_TAX_TYPE.SelectedValue == "1")
            strTAXTYPE = "免稅";
        else
            strTAXTYPE = "X";

        string strITEM = string.Empty;
        if (slpTAB3_ITEM_B.Text != "")
            strITEM = slpTAB3_ITEM_B.Text + " ~ " + slpTAB3_ITEM_E.Text;

        string strPERIOD = string.Empty;
        if (txtTAB3_PERIOD_B.Text != "")
            strPERIOD = txtTAB3_PERIOD_B.Text + " ~ " + txtTAB3_PERIOD_E.Text;

        string strRPTDATA = string.Empty;
        if (rbtTAB3_RPT_DATA.SelectedValue == "0")
            strRPTDATA = "全部";
        else if (rbtTAB3_RPT_DATA.SelectedValue == "1")
            strRPTDATA = "差異";
        else
            strRPTDATA = "X";

        report.SetParameterValue("par_CloseYM", strCloseYM);
        report.SetParameterValue("par_PayDate", strPayDate);
        report.SetParameterValue("par_SignDate", strSignDate);
        report.SetParameterValue("par_StoreGroup", strStoreGroup);
        report.SetParameterValue("par_ChanNo", strChanNo);
        report.SetParameterValue("par_Store", strStore);
        report.SetParameterValue("par_RFNO", strRFNO);
        report.SetParameterValue("par_Root", strRoot);
        report.SetParameterValue("par_STAKIND", strSTAKIND);
        report.SetParameterValue("par_TAXTYPE", strTAXTYPE);
        report.SetParameterValue("par_ITEM", strITEM);
        report.SetParameterValue("par_PERIOD", strPERIOD);
        report.SetParameterValue("par_RPTDATA", strRPTDATA);


        System.IO.Stream stream = null;
        byte[] b = null;
        stream = (strPRINT_TYPE == "PDF" ? report.ExportToStream(ExportFormatType.PortableDocFormat) : report.ExportToStream(ExportFormatType.Excel));
        b = new byte[stream.Length];
        stream.Read(b, 0, b.Length);
        stream.Seek(0, System.IO.SeekOrigin.Begin);
        Response.ClearContent();
        Response.ClearHeaders();
        Response.AddHeader("content-disposition", "attachment;filename=" + strFileName);
        Response.ContentType = (strPRINT_TYPE == "PDF" ? "application/pdf" : "application/vnd.ms-excel");
        Response.OutputStream.Write(b, 0, b.Length);
        Response.Flush();
        Response.Close();
        report.Close();
        #endregion
    }
예제 #18
0
    /// <summary>
    /// 顯示報表
    /// </summary>
    private void ShowReport1(DataTable dt, string strPRINT_TYPE)
    {
        #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();

        if (this.rdoRPT_TYPE1.SelectedIndex == 0)
        {
            report.Load(Server.MapPath("./REPORT/CAM30/CAM30R06.rpt"));
            strFileName = HttpUtility.UrlEncode("CAM30R06_PAY累計報表." + strPRINT_TYPE, System.Text.Encoding.UTF8);
        }
        else if (this.rdoRPT_TYPE1.SelectedIndex == 1)
        {
            report.Load(Server.MapPath("./REPORT/CAM30/CAM30R07.rpt"));
            strFileName = HttpUtility.UrlEncode("CAM30R07_PAY帳差明細表." + strPRINT_TYPE, System.Text.Encoding.UTF8);
        }
        else if (this.rdoRPT_TYPE1.SelectedIndex == 2)
        {
            report.Load(Server.MapPath("./REPORT/CAM30/CAM30R05.rpt"));
            strFileName = HttpUtility.UrlEncode("CAM30R05_平日驗收帳差明細表." + strPRINT_TYPE, System.Text.Encoding.UTF8);
        }
        else if (this.rdoRPT_TYPE1.SelectedIndex == 3)
        {
            report.Load(Server.MapPath("./REPORT/CAM30/CAM30R09.rpt"));
            strFileName = HttpUtility.UrlEncode("CAM30R09_通路單號彙總表." + strPRINT_TYPE, System.Text.Encoding.UTF8);
        }

        report.SetDataSource(dt);

        if (this.rdoRPT_TYPE1.SelectedIndex == 0)
        {
            report.SetParameterValue("par_Program_ID", "CAM30R06");
        }
        else if (this.rdoRPT_TYPE1.SelectedIndex == 1)
        {
            report.SetParameterValue("par_Program_ID", "CAM30R07");
        }
        else if (this.rdoRPT_TYPE1.SelectedIndex == 2)
        {
            report.SetParameterValue("par_Program_ID", "CAM30R05");
        }
        else if (this.rdoRPT_TYPE1.SelectedIndex == 3)
        {
            report.SetParameterValue("par_Program_ID", "CAM30R09");
        }
        report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name);
        report.SetParameterValue("par_Group", slp_GROUP_NO_S1.Text + Request[((TextBox)slp_GROUP_NO_S1.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", "") + (string.IsNullOrEmpty(slp_GROUP_NO_S1.Text) ? "" : "~") + slp_GROUP_NO_E1.Text + Request[((TextBox)slp_GROUP_NO_E1.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
        report.SetParameterValue("par_Store", slp_STORE1.Text + Request[((TextBox)slp_STORE1.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
        report.SetParameterValue("par_sellDate", slp_BUS_DATE.StartDate + (string.IsNullOrEmpty(slp_BUS_DATE.StartDate) ? "" : "~") + slp_BUS_DATE.EndDate);
        report.SetParameterValue("par_acDate", slp_BUS_YM.Text);
        report.SetParameterValue("par_chanSourceNo", txtCHAN_SOURCE_NO.Text);
        report.SetParameterValue("par_source", chkSTAKind.Items[0].Selected && chkSTAKind.Items[1].Selected ? "進貨/退貨" : (chkSTAKind.Items[0].Selected ? "進貨" : "退貨"));
        report.SetParameterValue("par_reportType", rdoRPT_DATA.SelectedItem.Text);
        report.SetParameterValue("par_Pay_Month", SLP_PAY_MONTH_S.Text + (string.IsNullOrEmpty(SLP_PAY_MONTH_S.Text) ? "" : "~") + SLP_PAY_MONTH_E.Text);

        System.IO.Stream stream = null;
        byte[] b = null;
        stream = (strPRINT_TYPE == "PDF" ? report.ExportToStream(ExportFormatType.PortableDocFormat) : report.ExportToStream(ExportFormatType.Excel));
        b = new byte[stream.Length];
        stream.Read(b, 0, b.Length);
        stream.Seek(0, System.IO.SeekOrigin.Begin);
        Response.ClearContent();
        Response.ClearHeaders();
        Response.AddHeader("content-disposition", "attachment;filename=" + strFileName);
        Response.ContentType = (strPRINT_TYPE == "PDF" ? "application/pdf" : "application/vnd.ms-excel");
        Response.OutputStream.Write(b, 0, b.Length);
        Response.Flush();
        Response.Close();
        report.Close();
        #endregion
    }
예제 #19
0
    /// <summary>
    /// 顯示報表
    /// </summary>
    private void ShowReport(DataTable dt, string strPRINT_TYPE)
    {
        #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();

        if (rdoREPORT_KIND1.SelectedIndex == 0)//供應商
        {
            if (rdoREPORT_KIND2.SelectedIndex == 0)//彙總
            {
                report.Load(Server.MapPath("./REPORT/CAM29/CAM29R01.rpt"));
                report.SetDataSource(dt);
                report.SetParameterValue("par_Program_ID", "CAM29R01");
                strFileName = HttpUtility.UrlEncode("CAM29R01_檔期供應商彙總表." + strPRINT_TYPE, System.Text.Encoding.UTF8);
            }
            else//明細
            {
                report.Load(Server.MapPath("./REPORT/CAM29/CAM29R03.rpt"));
                report.SetDataSource(dt);
                report.SetParameterValue("par_Program_ID", "CAM29R03");
                strFileName = HttpUtility.UrlEncode("CAM29R03_檔期供應商明細表." + strPRINT_TYPE, System.Text.Encoding.UTF8);
            }
        }
        else if (rdoREPORT_KIND1.SelectedIndex == 1)//門市
        {
            report.Load(Server.MapPath("./REPORT/CAM29/CAM29R02.rpt"));
            report.SetDataSource(dt);
            report.SetParameterValue("par_Program_ID", "CAM29R02");
            strFileName = HttpUtility.UrlEncode("CAM29R02_檔期門市明細表." + strPRINT_TYPE, System.Text.Encoding.UTF8);
        }
        else if (rdoREPORT_KIND1.SelectedIndex == 2)//成本
        {
            report.Load(Server.MapPath("./REPORT/CAM29/CAM29R04.rpt"));
            report.SetDataSource(dt);
            report.SetParameterValue("par_Program_ID", "CAM29R04");
            strFileName = HttpUtility.UrlEncode("CAM29R04_檔期門市彙總表-成本." + strPRINT_TYPE, System.Text.Encoding.UTF8);
        }
        else if (rdoREPORT_KIND1.SelectedIndex == 3)//特殊書展
        {
            report.Load(Server.MapPath("./REPORT/CAM29/CAM29R05.rpt"));
            report.SetDataSource(dt);
            report.SetParameterValue("par_Program_ID", "CAM29R05");
            strFileName = HttpUtility.UrlEncode("CAM29R05_檔期特殊書展表." + strPRINT_TYPE, System.Text.Encoding.UTF8);
        }

        report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name);
        report.SetParameterValue("par_GROUP_NO", slp_GROUP_NO_S.Text + " " + Request[((TextBox)slp_GROUP_NO_S.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", "") + (string.IsNullOrEmpty(slp_GROUP_NO_S.Text) ? "" : "~") + slp_GROUP_NO_E.Text + " " + Request[((TextBox)slp_GROUP_NO_E.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
        report.SetParameterValue("par_VENDER", slp_MANUFACTURE.Text + " " + Request[((TextBox)slp_MANUFACTURE.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
        report.SetParameterValue("par_STORE", slp_STORE.Text + " " + Request[((TextBox)slp_STORE.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
        report.SetParameterValue("par_SETTLE_YM", slp_AC_BALANCE_DATE_S.Text + " " + (string.IsNullOrEmpty(slp_AC_BALANCE_DATE_S.Text) ? "" : "~") + slp_AC_BALANCE_DATE_E.Text);
        report.SetParameterValue("par_SIGN_DATE", slp_SIGN_DATE.StartDate + (string.IsNullOrEmpty(slp_SIGN_DATE.StartDate) ? "" : " ~ ") + slp_SIGN_DATE.EndDate);
        report.SetParameterValue("par_BUS_DATE", slp_BUS_DATE.StartDate + (string.IsNullOrEmpty(slp_BUS_DATE.StartDate) ? "" : " ~ ") + slp_BUS_DATE.EndDate);
        report.SetParameterValue("par_PROMOTE_ID", txtPROMOTE_ID_S.Text + (string.IsNullOrEmpty(txtPROMOTE_ID_S.Text) ? "" : " ~ ") + txtPROMOTE_ID_E.Text);
        report.SetParameterValue("par_AC_UID", slp_AC_UID.Text + " " + Request[((TextBox)slp_AC_UID.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));

        string strDISCOUNT_TYPE = string.Empty;
        if (rdoDISCOUNT_TYPE.SelectedValue == "")
            strDISCOUNT_TYPE = "全部";
        else if (rdoDISCOUNT_TYPE.SelectedValue == "B")
            strDISCOUNT_TYPE = "原折扣";
        else if (rdoDISCOUNT_TYPE.SelectedValue == "A")
            strDISCOUNT_TYPE = "促銷折扣";
        report.SetParameterValue("par_DISCOUNT_TYPE", strDISCOUNT_TYPE);

        report.SetParameterValue("par_Z_O", slp_Z_O_S.Text + " " + Request[slp_Z_O_S.TextBox_Name.UniqueID].ToString().Replace("查無資料", "") + (string.IsNullOrEmpty(slp_Z_O_S.Text) ? "" : " ~ ") + slp_Z_O_E.Text + " " + Request[slp_Z_O_E.TextBox_Name.UniqueID].ToString().Replace("查無資料", ""));
        report.SetParameterValue("par_SAL_ID", slp_SAL_ID.Text + " " + Request[slp_SAL_ID.TextBox_Name.UniqueID].ToString().Replace("查無資料", ""));

        string strVer = string.Empty;
        if (rdoVer.SelectedValue == "0")
            strVer = "新版";
        else if (rdoVer.SelectedValue == "1")
            strVer = "舊版";

        report.SetParameterValue("par_VER", strVer);

        System.IO.Stream stream = null;
        byte[] b = null;
        stream = (strPRINT_TYPE == "PDF" ? report.ExportToStream(ExportFormatType.PortableDocFormat) : report.ExportToStream(ExportFormatType.Excel));
        b = new byte[stream.Length];
        stream.Read(b, 0, b.Length);
        stream.Seek(0, System.IO.SeekOrigin.Begin);
        Response.ClearContent();
        Response.ClearHeaders();
        Response.AddHeader("content-disposition", "attachment;filename=" + strFileName);
        Response.ContentType = (strPRINT_TYPE == "PDF" ? "application/pdf" : "application/vnd.ms-excel");
        Response.OutputStream.Write(b, 0, b.Length);
        Response.Flush();
        Response.Close();
        report.Close();
        #endregion
    }
예제 #20
0
    /// <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;
        }

    }
예제 #21
0
    private void ShowReport(DataTable dt, string strRptName, string strPRINT_TYPE)
    {
        #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();

        report.Load(Server.MapPath("./REPORT/CAM08/CAM08R" + strRptName + ".rpt"));

        report.SetDataSource(dt);
        switch (strRptName)
        {
            case "01":
                strFileName = HttpUtility.UrlEncode("CAM08R01_銷貨月報表_彙總金額." + strPRINT_TYPE, System.Text.Encoding.UTF8);
                break;
            case "02":
                strFileName = HttpUtility.UrlEncode("CAM08R02_銷貨月報表_明細金額." + strPRINT_TYPE, System.Text.Encoding.UTF8);
                break;
            case "05":
                strFileName = HttpUtility.UrlEncode("CAM08R05_結算月報表_明細金額." + strPRINT_TYPE, System.Text.Encoding.UTF8);
                break;
            case "06":
                strFileName = HttpUtility.UrlEncode("CAM08R06_結算月報表_彙總金額." + strPRINT_TYPE, System.Text.Encoding.UTF8);
                break;
            case "07":
                strFileName = HttpUtility.UrlEncode("CAM08R07_銷貨月報表_彙總數量." + strPRINT_TYPE, System.Text.Encoding.UTF8);
                break;
            case "08":
                strFileName = HttpUtility.UrlEncode("CAM08R08_銷貨月報表_明細數量." + strPRINT_TYPE, System.Text.Encoding.UTF8);
                break;
            case "11":
                strFileName = HttpUtility.UrlEncode("CAM08R11_結算月報表_明細數量." + strPRINT_TYPE, System.Text.Encoding.UTF8);
                break;
            case "12":
                strFileName = HttpUtility.UrlEncode("CAM08R12_結算月報表_彙總數量." + strPRINT_TYPE, System.Text.Encoding.UTF8);
                break;
        }

        report.SetParameterValue("par_Program_ID", "CAM08R" + strRptName);
        report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name);
        switch (strRptName)
        {
            case "01":
            case "02":
            case "07":
            case "08":
                report.SetParameterValue("par_Z_O", slp_Z_O.Text + Request[((TextBox)slp_Z_O.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
                report.SetParameterValue("par_SAL_ID", slp_SAL_ID.Text + Request[((TextBox)slp_SAL_ID.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
                report.SetParameterValue("par_GROUP_NO", slp_GROUP_NO_S.Text + Request[((TextBox)slp_GROUP_NO_S.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", "") + (string.IsNullOrEmpty(slp_GROUP_NO_S.Text) ? "" : "~") + slp_GROUP_NO_E.Text + Request[((TextBox)slp_GROUP_NO_E.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
                report.SetParameterValue("par_PAY_RFNO", txtPAY_RFNO.Text);
                report.SetParameterValue("par_RFNO", txtRFNO.Text);
                report.SetParameterValue("par_STORE", slp_STORE.Text + Request[((TextBox)slp_STORE.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
                report.SetParameterValue("par_ROOTNO", slp_ROOTNO.Text);
                report.SetParameterValue("par_BUS_DATE", slp_BUS_DATE.StartDate + (string.IsNullOrEmpty(slp_BUS_DATE.StartDate) ? "" : "~") + slp_BUS_DATE.EndDate);
                report.SetParameterValue("par_REPORT_TYPE", rdoREPORT_KIND1_1.SelectedItem.Text + "/" + rdoREPORT_KIND2_1.SelectedItem.Text);
                break;
            case "05":
            case "06":
            case "11":
            case "12":
                report.SetParameterValue("par_Z_O", slp_Z_O1.Text + Request[((TextBox)slp_Z_O1.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
                report.SetParameterValue("par_SAL_ID", slp_SAL_ID1.Text + Request[((TextBox)slp_SAL_ID1.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
                report.SetParameterValue("par_GROUP_NO", slp_GROUP_NO_S1.Text + Request[((TextBox)slp_GROUP_NO_S1.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", "") + (string.IsNullOrEmpty(slp_GROUP_NO_S1.Text) ? "" : "~") + slp_GROUP_NO_E1.Text + Request[((TextBox)slp_GROUP_NO_E1.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
                report.SetParameterValue("par_PAY_RFNO", txtPAY_RFNO1.Text);
                report.SetParameterValue("par_RFNO", txtRFNO1.Text);
                report.SetParameterValue("par_STORE", slp_STORE1.Text + Request[((TextBox)slp_STORE1.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
                report.SetParameterValue("par_ROOTNO", slp_ROOTNO1.Text);
                report.SetParameterValue("par_BUS_DATE", slp_BUS_YM_S.Text + (string.IsNullOrEmpty(slp_BUS_YM_S.Text) ? "" : "~") + slp_BUS_YM_E.Text);
                report.SetParameterValue("par_REPORT_TYPE", rdoREPORT_KIND1_2.SelectedItem.Text + "/" + rdoREPORT_KIND2_2.SelectedItem.Text);
                report.SetParameterValue("par_AC_CLOSE", rdoAC_CLOSE.SelectedItem.Text);
                report.SetParameterValue("par_ROLE", slp_ROLE.Text);
                break;
        }

        System.IO.Stream stream = null;
        byte[] b = null;
        stream = (strPRINT_TYPE == "PDF" ? report.ExportToStream(ExportFormatType.PortableDocFormat) : report.ExportToStream(ExportFormatType.Excel));
        b = new byte[stream.Length];
        stream.Read(b, 0, b.Length);
        stream.Seek(0, System.IO.SeekOrigin.Begin);
        Response.ClearContent();
        Response.ClearHeaders();
        Response.AddHeader("content-disposition", "attachment;filename=" + strFileName);
        Response.ContentType = (strPRINT_TYPE == "PDF" ? "application/pdf" : "application/vnd.ms-excel");
        Response.OutputStream.Write(b, 0, b.Length);
        Response.Flush();
        Response.Close();
        report.Close();
        #endregion
    }
예제 #22
0
    /// <summary>
    /// 報表列印
    /// </summary>
    /// <param name="dt"></param>
    /// <param name="strPRINT_TYPE"></param>
    private void ShowReport(DataTable dt, string strPRINT_TYPE)
    {
        #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();

        report.Load(Server.MapPath("./REPORT/CAM14/CAM14R01.rpt"));
        strFileName = HttpUtility.UrlEncode("折讓單無法開立明細表." + strPRINT_TYPE, System.Text.Encoding.UTF8);

        report.SetDataSource(dt);


        report.SetParameterValue("par_Program_ID", "CAM14R01");
        report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name);
        report.SetParameterValue("par_GROUP_NO", slp_GROUP_NO_S.Text + Request[((TextBox)slp_GROUP_NO_S.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", "") + (string.IsNullOrEmpty(slp_GROUP_NO_S.Text) ? "" : "~") + slp_GROUP_NO_E.Text + Request[((TextBox)slp_GROUP_NO_E.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
        report.SetParameterValue("par_PAY_RFNO", txtPAY_RFNO.Text);
        report.SetParameterValue("par_RFNO", txtRFNO.Text);
        report.SetParameterValue("par_STORE", slp_STORE.Text + Request[((TextBox)slp_STORE.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
        report.SetParameterValue("par_ROOTNO", SLP_RootNo.Text + Request[((TextBox)SLP_RootNo.FindControl("TextBoxName")).UniqueID].ToString().Replace("查無資料", ""));
        report.SetParameterValue("par_SETTLE_TYPE", rdoPAY_TYPE1.Checked ? "一般" : (rdoPAY_TYPE2.Checked ? "關店" : "虛擬店"));

        System.IO.Stream stream = null;
        byte[] b = null;
        stream = (strPRINT_TYPE == "PDF" ? report.ExportToStream(ExportFormatType.PortableDocFormat) : report.ExportToStream(ExportFormatType.Excel));
        b = new byte[stream.Length];
        stream.Read(b, 0, b.Length);
        stream.Seek(0, System.IO.SeekOrigin.Begin);
        Response.ClearContent();
        Response.ClearHeaders();
        Response.AddHeader("content-disposition", "attachment;filename=" + strFileName);
        Response.ContentType = (strPRINT_TYPE == "PDF" ? "application/pdf" : "application/vnd.ms-excel");
        Response.OutputStream.Write(b, 0, b.Length);
        Response.Flush();
        Response.Close();
        report.Close();

        stream.Close();

        #endregion
    }
예제 #23
0
    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
    }
예제 #24
0
        public string ReportExportToFile(string reportTemplateFileName, string ExportFormat, bool IsLocalize)
        {
            if (reportTemplateFileName != string.Empty)
            {
                CrystalDecisions.CrystalReports.Engine.ReportDocument rptDocument = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
                rptDocument.Load(reportTemplateFileName);
                LoadReportDocument(rptDocument);
            }



            CrystalDecisions.CrystalReports.Engine.ReportDocument result = GenerateReport();

            if (result.ParameterFields["ChineseFontName"] != null)
            {
                //System.Drawing.FontFamily chineseFontFamily = AppUtils.GetChineseFontFamily(dbConn);
                //if (chineseFontFamily != null)
                //    result.SetParameterValue("ChineseFontName", chineseFontFamily.Name);
                //else
                result.SetParameterValue("ChineseFontName", string.Empty);
            }

            //        result.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.CrystalReport, System.IO.Path.GetTempPath() + @"\" + OutputFilenamePrefix + "_" + AppUtils.ServerDateTime().ToString("yyyyMMddHHmmss"));

            //result.Load(System.IO.Path.GetTempPath() + @"\" + OutputFilenamePrefix + "_" + AppUtils.ServerDateTime().ToString("yyyyMMddHHmmss"));
            if (reportTemplateFileName == string.Empty && IsLocalize)
            {
                ReportSectionsLocalization(!ExportFormat.Equals("EXCEL", StringComparison.CurrentCultureIgnoreCase));
            }

            //  Do NOT set the papersize by default for customized paper size
            //result.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4;

            CrystalDecisions.Shared.ExportFormatType exportFormatType;
            string exportFileName = System.IO.Path.GetTempFileName();

            System.IO.File.Delete(exportFileName);
            string exportFileNameExtension = string.Empty;

            if (ExportFormat.Equals("EXCEL", StringComparison.CurrentCultureIgnoreCase))
            {
                result.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperEsheet;


                //ExcelLibrary.SpreadSheet.Workbook workbook = ExcelLibrary.SpreadSheet.Workbook.Load(result.ExportToStream(CrystalDecisions.Shared.ExportFormatType.Excel));
                //foreach (ExcelLibrary.SpreadSheet.Worksheet workSheet in workbook.Worksheets)
                //{
                //    ExcelLibrary.SpreadSheet.CellCollection cellCollection = new ExcelLibrary.SpreadSheet.CellCollection();
                //    int count = 1;
                //    foreach (int key in workSheet.Cells.Rows.Keys)
                //    {
                //        ExcelLibrary.SpreadSheet.Row row = workSheet.Cells.Rows[key];
                //        cellCollection.Rows.Add(count, row);
                //        count++;
                //    }
                //    workSheet.Cells.Rows.Clear();

                //    foreach (int key in cellCollection.Rows.Keys)
                //    {
                //        workSheet.Cells.Rows.Add(key, cellCollection.Rows[key]);
                //    }
                //}
                //string exportFileName = System.IO.Path.GetTempFileName();
                //System.IO.File.Delete(exportFileName);
                //exportFileName += ".xls";
                //workbook.Save(exportFileName);
                //WebUtils.TransmitFile(Response, exportFileName, OutputFilenamePrefix + "_" + AppUtils.ServerDateTime().ToString("yyyyMMddHHmmss") + ".xls", true);

                //result.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.Excel, Response, true, OutputFilenamePrefix + "_" + AppUtils.ServerDateTime().ToString("yyyyMMddHHmmss"));

                exportFileNameExtension = ".xls";
                exportFormatType        = CrystalDecisions.Shared.ExportFormatType.Excel;
            }
            else if (ExportFormat.Equals("WORD", StringComparison.CurrentCultureIgnoreCase))
            {
                exportFileNameExtension = ".doc";
                exportFormatType        = CrystalDecisions.Shared.ExportFormatType.RichText;
            }
            else //if (ExportFormat.Equals("PDF", StringComparison.CurrentCultureIgnoreCase))
            {
                exportFileNameExtension = ".pdf";

                if (UsePDFCreator)
                {
                    exportFormatType = CrystalDecisions.Shared.ExportFormatType.NoFormat;
                    try
                    {
                        PDFCreaterPrinter printer    = new PDFCreaterPrinter();
                        string            outputFile = printer.printCrystalReportsToPDF(result);
                        System.IO.File.Move(outputFile, exportFileName + exportFileNameExtension);
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                        //  if any error occurs or driver not installed, use crystal report export function
                        // exportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
                    }
                }
                else
                {
                    exportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat;
                }
                //ReportSectionsIncreaseFontSize(result);
            }

            exportFileName += exportFileNameExtension;

            if (exportFormatType != CrystalDecisions.Shared.ExportFormatType.NoFormat)
            {
                if (exportFormatType == CrystalDecisions.Shared.ExportFormatType.PortableDocFormat)
                {
                    if (reportTemplateFileName == string.Empty)
                    {
                        SetChineseFont(result, IsLocalize);
                    }
                    else
                    {
                        SetChineseFont(result, false);
                    }
                }
                //result.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.CrystalReport, exportFileName);
                result.ExportToDisk(exportFormatType, exportFileName);
            }
            if (exportFileNameExtension == ".rtf" || exportFileNameExtension == ".doc")
            {
                string exportFileName_modified = exportFileName + "_modified" + exportFileNameExtension;
                System.IO.StreamReader oStrRdr = new System.IO.StreamReader(exportFileName);
                System.IO.StreamWriter oStrWrt = new System.IO.StreamWriter(exportFileName_modified);
                while (!oStrRdr.EndOfStream)
                {
                    string content = oStrRdr.ReadLine();
                    content = content.Replace(@"{\rtf1\ansi\ansicpgA.R..", @"{\rtf1\ansi\ansicpg");
                    oStrWrt.WriteLine(
                        content
                        );
                }
                oStrRdr.Close();
                oStrWrt.Close();

                System.IO.File.Delete(exportFileName);
                exportFileName = exportFileName_modified;
            }
            //if (exportFileNameExtension == ".rtf")
            //{
            //    string newExportFilename = exportFileName + ".pdf";

            //    //    iTextSharp.text.Document document = new iTextSharp.text.Document();
            //    //    iTextSharp.text.pdf.PdfWriter writer = iTextSharp.text.pdf.PdfWriter.GetInstance(document, System.IO.File.Create(newExportFilename));
            //    //    document.Open();
            //    //    iTextSharp.text.rtf.parser.RtfParser parser = new iTextSharp.text.rtf.parser.RtfParser(null);
            //    //    System.IO.FileStream rtfStream = System.IO.File.OpenRead(exportFileName);
            //    //    parser.ConvertRtfDocument(rtfStream, document);
            //    //    rtfStream.Close();
            //    //    document.Close();
            //    System.IO.File.Delete(exportFileName);
            //    exportFileName = newExportFilename;
            //}

            result.Close();
            result.Dispose();
            LoadReportDocument(null);
            return(exportFileName);
        }
예제 #25
0
    /// <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;
        }

    }
예제 #26
0
    /// <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, string reportFormatType)
    {

        try
        {
            VGRModel.MaintainReturnData BCOVGR = new VGRModel.MaintainReturnData(ConntionDB);
            CrystalDecisions.CrystalReports.Engine.ReportDocument report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

            report.Load(s_rptFilePath);

            //report.Load(Server.MapPath("./REPORT/VGR01/VGR01R01.rptt"));
            ArrayList DBParameterList = new ArrayList();

            DBParameterList.Add(hiddenID.Value);

            DataTable dtResult = BCOVGR.GetPrintRpt01Detl(DBParameterList);


            int j = dtResult.Rows.Count % 10;

            if (j != 0)
            {
                for (int i = 0; i < 10 - j ; i++)
                {
                    DataRow drNew = dtResult.NewRow();
                    drNew["Item"] = "XXXXXXXXXX";
                    drNew["Item_Name"] = "";
                    drNew["Period"] = "";
                    drNew["Return_Qty"]=0;
                    drNew["Price"]=0;
                    drNew["Cost"] = 0;
                    dtResult.Rows.Add(drNew);
                }
            }

            report.SetDataSource(dtResult);

            DataTable dtMainData = BCOVGR.GetPrintRpt01Main(Request.QueryString["ID"].ToString());

            if (dtMainData.Rows.Count > 0)
            {
                report.SetParameterValue("paraBusiness_Contact1", dtMainData.Rows[0]["Business_Contact"].ToString());
                report.SetParameterValue("paraBusiness_Fax", dtMainData.Rows[0]["Business_Fax"].ToString());
                report.SetParameterValue("paraReturn_Date", dtMainData.Rows[0]["Return_Date"].ToString());
                report.SetParameterValue("paraVendor_Name", dtMainData.Rows[0]["Vendor_Name"].ToString());
                report.SetParameterValue("paraVendor", dtMainData.Rows[0]["Vendor"].ToString());
                report.SetParameterValue("paraReturn_No", dtMainData.Rows[0]["Return_No"].ToString());
                report.SetParameterValue("paraTax_Total_Amt", dtMainData.Rows[0]["Tax_Total_Amt"].ToString());
                report.SetParameterValue("paraUnTax_Total_Amt", dtMainData.Rows[0]["UnTax_Total_Amt"].ToString());
                report.SetParameterValue("paraTax_Amt", dtMainData.Rows[0]["Tax_Amt"].ToString());

                //ParameterFields par1 = new ParameterFields();
                //AddParameter("paraBusiness_Contact1", dtMainData.Rows[0]["Business_Contact1"].ToString(), par1);
                //ParameterFields par2 = new ParameterFields();
                //AddParameter("paraBusiness_Fax", dtMainData.Rows[0]["Business_Fax"].ToString(), par2);
                //ParameterFields par3 = new ParameterFields();
                //AddParameter("paraReturn_Date", dtMainData.Rows[0]["Return_Date"].ToString(), par3);
                //ParameterFields par4 = new ParameterFields();
                //AddParameter("paraVendor_Name", dtMainData.Rows[0]["Vendor_Name"].ToString(), par4);
                //ParameterFields par5 = new ParameterFields();
                //AddParameter("paraVendor", dtMainData.Rows[0]["Vendor"].ToString(), par5);
                //ParameterFields par6 = new ParameterFields();
                //AddParameter("paraReturn_No", dtMainData.Rows[0]["Return_No"].ToString(), par6);
                //ParameterFields par7 = new ParameterFields();
                //AddParameter("paraTax_Total_Amt", dtMainData.Rows[0]["Tax_Total_Amt"].ToString(), par7);
                //ParameterFields par8 = new ParameterFields();
                //AddParameter("paraUnTax_Total_Amt", dtMainData.Rows[0]["UnTax_Total_Amt"].ToString(), par8);
                //ParameterFields par9 = new ParameterFields();
                //AddParameter("paraTax_Amt", dtMainData.Rows[0]["Tax_Amt"].ToString(), par9);

            }
            else
            {
                string strErr = "查無資料";
                this.ErrorMsgLabel.Text = strErr;
                return;
            }

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

            report.Close();

        }
        catch (Exception ex)
        {
            ErrorMsgLabel.Text = ex.Message;
        }
        
    }
예제 #27
0
    /// <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();

    }
예제 #28
0
    private void ShowReportA(DataTable dt, 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/VAM051R01.rpt"));

        report.SetDataSource(dt);
        string[] arrField, arrField1;

        report.SetParameterValue("par_Program_ID", "VAM051R");

        report.SetParameterValue("par_LoginUser", Session["UID"].ToString() + Login_Name);

        report.SetParameterValue("par_Source_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 (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
    }
예제 #29
0
    /// <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();
    }
예제 #30
0
    private void ShowReportA(DataTable dt, int iMaxTarget)
    {
        #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();
        //20120718 rika 改為不列印分頁報表
        //if (this.rdoPrint1.Checked)
        //{
        //if (iMaxTarget > 7)
        //    report.Load(Server.MapPath("./REPORT/VAM131/VAM131R01.rpt"));
        //else
        report.Load(Server.MapPath("./REPORT/VAM131/VAM131R01_2.rpt"));
        //}
        //else
        //{
        //    if (iMaxTarget > 7)
        //        report.Load(Server.MapPath("./REPORT/VAM131/VAM131R01A.rpt"));
        //    else
        //        report.Load(Server.MapPath("./REPORT/VAM131/VAM131R01A_2.rpt"));
        //}

        DataTable dtR = new DataTable();
        dtR = this.MakeDTForRptA();
        string[] arrField, arrField1;
        arrField = new string[10] { "獎勵金", "物流費", "折扣補貼", "獎勵金四", "獎勵金五", "獎勵金六", "獎勵金七", "獎勵金八", "獎勵金九", "獎勵金十" };
        arrField1 = new string[3] { "追溯金額", "預收金額", "合計(未稅)" };

        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[30] = Convert.ToDecimal(dt.Rows[i]["T_AMT"].ToString());
            for (int j = 0; j < iMaxTarget; j++)
            {
                drA[7 + j] = Convert.ToDecimal(dt.Rows[i][7 + j].ToString());
            }
            drA[7 + iMaxTarget] = Convert.ToDecimal(dt.Rows[i][17].ToString());
            drA[8 + iMaxTarget] = Convert.ToDecimal(dt.Rows[i][18].ToString());
            drA[9 + iMaxTarget] = Convert.ToDecimal(dt.Rows[i][19].ToString());
            for (int l = 20; l < 20 + iMaxTarget; l++)
            {
                if (dt.Rows[i][l].ToString() != "")
                    drA[l] = arrField[l - 20] + ":" + dt.Rows[i][l].ToString();
                else
                    drA[l] = dt.Rows[i][l].ToString();
            }
            dtR.Rows.Add(drA);
        }


        report.SetDataSource(dtR);

        //ParameterFields par1 = new ParameterFields();
        //AddParameter("par_Program_ID", "VAM131R", par1);
        report.SetParameterValue("par_Program_ID", "VAM131R");
        //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.ReportSource = null;

        //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(8 + j), arrField[j], pars);
            //this.CryView.ParameterFieldInfo.Add(pars[0]);
            report.SetParameterValue("par_Field" + Convert.ToString(8 + j), arrField[j]);
        }

        for (int j = 0; j < 3; j++)
        {
            //ParameterFields pars = new ParameterFields();
            //AddParameter("par_Field" + Convert.ToString(8 + iMaxTarget + j), arrField1[j], pars);
            //this.CryView.ParameterFieldInfo.Add(pars[0]);
            report.SetParameterValue("par_Field" + Convert.ToString(8 + iMaxTarget + j), arrField1[j]);
        }

        for (int j = 0; j < 10 - iMaxTarget; j++)
        {
            //ParameterFields pars = new ParameterFields();
            //AddParameter("par_Field" + Convert.ToString(11 + iMaxTarget +j), "", pars);
            //this.CryView.ParameterFieldInfo.Add(pars[0]);
            report.SetParameterValue("par_Field" + Convert.ToString(11 + iMaxTarget + 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
    }
예제 #31
0
    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
    }
예제 #32
0
    /// <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
    }
예제 #33
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
    }
예제 #34
0
    /// <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();
    }
예제 #35
0
    /// <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_StockTakeDate = this.SLP_SLPDate.Text;
        string par_StockTakeNoS = this.txtS_InNO.Text;
        string par_StockTakeNoE = this.txtE_InNO.Text;
        string par_S_LocateNo = this.SLP_SimpleLocateSec1.Text1;
        string par_E_LocateNo = this.SLP_SimpleLocateSec2.Text1;
        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_RptType = this.rdoRptType.SelectedItem.Text;
        par_ProgramID = this.PageCode;
        par_LoginUser = Session["UID"].ToString() + " " + Get_LoginName();
        #endregion


        #region 組合查詢條件至ArrayList

        ArrayList returnList = new ArrayList();

        returnList.Clear();

        report.SetParameterValue("par_StockTakeDate", par_StockTakeDate);
        report.SetParameterValue("par_StockTakeNoS", par_StockTakeNoS);
        report.SetParameterValue("par_StockTakeNoE", par_StockTakeNoE);
        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_RptType", par_RptType);
        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;
        }
        report.Close();
    }
예제 #36
0
        private void btn_Run_Click(object sender, EventArgs e)
        {
            if (txtUsername.Text.Length > 1 && txtPassword.Text.Length > 1)
            {
                String username = txtUsername.Text;
                String password = txtPassword.Text;
                rTextBoxOutput.AppendText("Starting...\n\n");
                rTextBoxOutput.ScrollToCaret();
                String path = this.cboDirectoryList.Text;//"C:\\SVN\\CrystalReports\\OBS";
                CreateDirectoryStructure();
                foreach (string file in Directory.GetFiles(path, "*.rpt"))
                {
                    Console.WriteLine(String.Format("Processing {0}...", file));
                    rTextBoxOutput.AppendText(String.Format("Processing {0}...\n", file));
                    rTextBoxOutput.ScrollToCaret();

                    // Declarations
                    CrystalDecisions.CrystalReports.Engine.ReportDocument boReportDocument = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
                    CrystalDecisions.ReportAppServer.ClientDoc.ISCDReportClientDocument boReportClientDocument;
                    CrystalDecisions.ReportAppServer.Controllers.RowsetController       boRowsetController;
                    CrystalDecisions.ReportAppServer.DataDefModel.ISCRGroupPath         boGroupPath;
                    string temp = "";
                    try
                    {
                        // Load the report from the application directory
                        boReportDocument.Load(file);

                        // Access the ReportClientDocument in the ReportDocument (EROM bridge)
                        // Note this is available without a dedicated RAS with SP2 for XI R2
                        boReportClientDocument = boReportDocument.ReportClientDocument;
                        boReportDocument.DataSourceConnections[0].SetLogon(username, password);

                        if (boReportDocument.Subreports.Count == 0)
                        {
                            CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinitions parameterList = boReportDocument.DataDefinition.ParameterFields;
                            for (int i = 0; i < parameterList.Count; i++)
                            {
                                Console.WriteLine("i = " + i + "... " + parameterList[i].ParameterFieldName.ToString());
                                if (parameterList[i].ParameterFieldName.ToString() == "ReportType")
                                {
                                    boReportDocument.SetParameterValue(i, "D");
                                }
                                else if (parameterList[i].ParameterFieldName.ToString() == "@ControlID")
                                {
                                    boReportDocument.SetParameterValue(i, 76461450);
                                }
                                else if (parameterList[i].ParameterFieldName.ToString() == "@RevisionCode")
                                {
                                    boReportDocument.SetParameterValue(i, 0);
                                }
                            }

                            // use the RowsetController to get the SQL query
                            // Note: If a report has parameters they must be supplied before getting the
                            // SQL query.
                            boRowsetController = boReportClientDocument.RowsetController;
                            boGroupPath        = new CrystalDecisions.ReportAppServer.DataDefModel.GroupPath();

                            String s = boRowsetController.GetSQLStatement(boGroupPath, out temp);

                            s = u.RemoveQuotes(s);
                            bool ret = false;
                            if (u.HasSQL(s))
                            {
                                if (u.HasProduct(s))
                                {
                                    if (du.DoesDirectoryExist(path + "\\HasEmbeddedSQL\\HasProductReference"))
                                    {
                                        ret  = du.MoveFileToDirectory(file, path + "\\HasEmbeddedSQL\\HasProductReference\\" + Path.GetFileName(file));
                                        temp = "Processed " + Path.GetFileName(file) + ", moved file: " + ret + ", moved to " + path + "\\HasEmbeddedSQL\\HasProductReference\\";
                                    }
                                }
                                else if (u.HasView(s))
                                {
                                    if (du.DoesDirectoryExist(path + "\\HasEmbeddedSQL\\HasView"))
                                    {
                                        ret  = du.MoveFileToDirectory(file, path + "\\HasEmbeddedSQL\\HasView\\" + Path.GetFileName(file));
                                        temp = "Processed " + Path.GetFileName(file) + ", moved file: " + ret + ", moved to " + path + "\\HasEmbeddedSQL\\HasView\\";
                                        views.Add(boReportDocument.Database.Tables[0].Name);
                                    }
                                }
                                else
                                {
                                    if (du.DoesDirectoryExist(path + "\\HasEmbeddedSQL\\ProbablyOK"))
                                    {
                                        ret  = du.MoveFileToDirectory(file, path + "\\HasEmbeddedSQL\\ProbablyOK\\" + Path.GetFileName(file));
                                        temp = "Processed " + Path.GetFileName(file) + ", moved file: " + ret + ", moved to " + path + "\\HasEmbeddedSQL\\ProbablyOK\\";
                                    }
                                }
                            }
                            else if (u.UsesExec(s))
                            {
                                if (du.DoesDirectoryExist(path + "\\NoEmbeddedSQL"))
                                {
                                    ret  = du.MoveFileToDirectory(file, path + "\\NoEmbeddedSQL\\" + Path.GetFileName(file));
                                    temp = "Processed " + Path.GetFileName(file) + ", moved file: " + ret + ", moved to " + path + "\\NoEmbeddedSQL\\";
                                }
                            }
                            else
                            {
                                if (du.DoesDirectoryExist(path + "\\ShouldReview"))
                                {
                                    ret  = du.MoveFileToDirectory(file, path + "\\ShouldReview\\" + Path.GetFileName(file));
                                    temp = "Processed " + Path.GetFileName(file) + ", moved file: " + ret + ", moved to " + path + "\\ShouldReview\\";
                                }
                            }

                            rTextBoxOutput.AppendText(temp + "\n");
                            rTextBoxOutput.ScrollToCaret();
                        }
                        else
                        {
                            ConnectionInfo ci = new ConnectionInfo();
                            ci.UserID   = username;
                            ci.Password = password;
                            ApplyLogOnInfoForSubreports(boReportDocument, ci);

                            if (du.DoesDirectoryExist(path + "\\HasSubReports"))
                            {
                                bool ret = du.MoveFileToDirectory(file, path + "\\HasSubReports\\" + Path.GetFileName(file));
                                temp = "HAS SUBREPORT(S)" + Path.GetFileName(file) + ", moved file: " + ret + ", moved to " + path + "\\HasSubReports\\";
                            }
                            rTextBoxOutput.AppendText(temp + "\n");
                            rTextBoxOutput.ScrollToCaret();
                        }
                    }
                    catch (System.ArgumentOutOfRangeException aor)
                    {
                        if (du.DoesDirectoryExist(path + "\\ShouldReview"))
                        {
                            bool ret = du.MoveFileToDirectory(file, path + "\\ShouldReview\\" + Path.GetFileName(file));
                            temp = "Should REVIEW " + Path.GetFileName(file) + ", moved file: " + ret + ", moved to " + path + "\\ShouldReview\\";
                        }
                        rTextBoxOutput.AppendText(temp + "\n");
                        rTextBoxOutput.AppendText(aor.Message + "\n");
                        rTextBoxOutput.ScrollToCaret();
                    }
                    catch (System.Runtime.InteropServices.COMException comex)
                    {
                        if (du.DoesDirectoryExist(path + "\\ShouldReview"))
                        {
                            bool ret = du.MoveFileToDirectory(file, path + "\\ShouldReview\\" + Path.GetFileName(file));
                            temp = "Should REVIEW " + Path.GetFileName(file) + ", moved file: " + ret + ", moved to " + path + "\\ShouldReview\\";
                        }
                        rTextBoxOutput.AppendText(temp + "\n");
                        rTextBoxOutput.AppendText(comex.Message + "\n");
                        rTextBoxOutput.ScrollToCaret();
                    }
                    finally
                    {
                        // Clean up by closing and disposing of the ReportDocument object
                        boReportDocument.Close();
                        boReportDocument.Dispose();
                    }
                }
                List <String> noDupes_procs    = procedures.Distinct().ToList();
                List <String> noDupes_sr_views = sr_views.Distinct().ToList();
                List <String> noDupes_views    = views.Distinct().ToList();
                u.WriteToFile(path + "\\HasSubReports", "_subreportSPs.txt", noDupes_procs);
                u.WriteToFile(path + "\\HasSubReports", "_subreportViews.txt", noDupes_sr_views);
                u.WriteToFile(path + "\\HasEmbeddedSQL\\HasView", "_reportViews.txt", noDupes_views);
            }
            else
            {
                MessageBox.Show("Please enter a username and password!");
            }
        }
예제 #37
0
    private void ShowReportAB(DataTable dt, int iMaxTarget)
    {
        #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/VAM131/VAM131R01B.rpt"));

        DataTable dtR = new DataTable();
        dtR = this.MakeDTForRptA();

        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[30] = Convert.ToDecimal(dt.Rows[i]["T_AMT"].ToString());
            for (int j = 0; j < iMaxTarget; j++)
            {
                drA[7 + j] = Convert.ToDecimal(dt.Rows[i][7 + j].ToString());
            }
            drA[7 + iMaxTarget] = Convert.ToDecimal(dt.Rows[i][17].ToString());
            drA[8 + iMaxTarget] = Convert.ToDecimal(dt.Rows[i][18].ToString());
            drA[9 + iMaxTarget] = Convert.ToDecimal(dt.Rows[i][19].ToString());
            dtR.Rows.Add(drA);
        }


        report.SetDataSource(dtR);
        string[] arrField, arrField1;
        arrField = new string[10] { "獎勵金", "物流費", "折扣補貼", "獎勵金四", "獎勵金五", "獎勵金六", "獎勵金七", "獎勵金八", "獎勵金九", "獎勵金十" };
        arrField1 = new string[3] { "追溯金額", "預收金額", "合計(未稅)" };

        for (int j = 0; j < iMaxTarget; j++)
        {
            report.SetParameterValue("par_Field" + Convert.ToString(8 + j), arrField[j]);
        }

        for (int j = 0; j < 3; j++)
        {
            report.SetParameterValue("par_Field" + Convert.ToString(8 + iMaxTarget + j), arrField1[j]);
        }

        for (int j = 0; j < 10 - iMaxTarget; j++)
        {
            report.SetParameterValue("par_Field" + Convert.ToString(11 + iMaxTarget + 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
    }
예제 #38
0
    /// <summary>
    /// 列印轉PDF檔
    /// </summary>
    /// <param name="dt">列印資料</param>
    private void Show_Report2(DataTable dt)
    {
        TextBox txt_BUSDATE_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_BUSDATE.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");
        TextBox txt_BUSDATE_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_BUSDATE.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");

        string s_FileName = txt_Out_FileName.Text;
        if (s_FileName.ToLower().IndexOf(".xls") < 0)
        {
            s_FileName = s_FileName + ".pdf";
        }
        else
        {
            s_FileName = s_FileName.Substring(0, s_FileName.Length - 4) + ".pdf";
        }
        s_FileName = HttpUtility.UrlEncode(s_FileName, System.Text.Encoding.UTF8);

        //Load Report
        report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
        if (this.rdb_Report_Status.SelectedValue == "0")//明細表
        { report.Load(Server.MapPath("./REPORT/CRM151/CRM151_Report_Detl.rpt")); }
        else if (this.rdb_Report_Status.SelectedValue == "1")//彙總表
        { report.Load(Server.MapPath("./REPORT/CRM151/CRM151_Report_Main.rpt")); }
        report.SetDataSource(dt);

        // Set Parameter
        report.SetParameterValue("par_Program_ID", this.PageCode);
        report.SetParameterValue("par_LoginUser", Session["UID"].ToString());
        report.SetParameterValue("par_BUSDATE", txt_BUSDATE_B.Text.Trim() + "~" + txt_BUSDATE_E.Text.Trim());
        report.SetParameterValue("par_CHAN_NO", this.slp_CHAN_NO.Text.Trim());
        report.SetParameterValue("par_ITEM", this.slp_ITEM.Text.Trim());
        report.SetParameterValue("par_Z_O", this.slp_Z_O_B.Text.Trim() + "~" + this.slp_Z_O_E.Text.Trim());
        report.SetParameterValue("par_MANUFACTURE", this.slp_MANUFACTURE_B.Text.Trim() + "~" + this.slp_MANUFACTURE_E.Text.Trim());
        report.SetParameterValue("par_OUT_OF_STOCK_DAY", this.rdb_OUT_OF_STOCK_DAY.SelectedItem.Text.Trim());
        if (this.rdb_Report_Status.SelectedValue == "1")
        {
            ArrayList ParameterList = new ArrayList();//20091117

            ParameterList.Clear();
            ParameterList.Add(GetValueSetParameter(this.rdb_OUT_OF_STOCK_DAY.SelectedValue, "string", false));
            ParameterList.Add(Session["UID"].ToString());

            int i_CRM_REQUEST_NO_COUNT = 0;
            BCO.QueryCRMOrderOutOfStockReport bco = new BCO.QueryCRMOrderOutOfStockReport(ConntionDB);
            i_CRM_REQUEST_NO_COUNT = bco.QUERY_CRM151_PRINTSUM_COUNT(ParameterList);

            report.SetParameterValue("par_CRM_REQUEST_NO_COUNT", i_CRM_REQUEST_NO_COUNT.ToString());
        }

        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();
    }
예제 #39
0
    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
    }
예제 #40
0
    private void ShowReport6(DataTable dt)
    {
        #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)
            report.Load(Server.MapPath("./REPORT/VAM131/VAM131R06.rpt"));
        else
            report.Load(Server.MapPath("./REPORT/VAM131/VAM131R06A.rpt"));

        report.SetDataSource(dt);

        report.SetParameterValue("par_Program_ID", "VAM136R");

        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", "分頁");

        //檔案匯出
        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
    }
예제 #41
0
    private void ShowReportBB(DataTable dt)
    {
        #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/VAM131/VAM131R02B.rpt"));

        report.SetDataSource(dt);

        if (this.rdoType10.Checked)
            report.SetParameterValue("par_CLOSE_TYPE", "3");
        else
            report.SetParameterValue("par_CLOSE_TYPE", "1");


        //檔案匯出
        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();

        if (this.rdoType10.Checked)
            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));//匯出檔名  
        else
            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
    }
예제 #42
0
    /// <summary>
    /// </summary>
    /// <param name="dt">列印資料</param>
    private void Show_Report2(DataTable dt)
    {
        TextBox txt_BUSDATE_B = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_BUSDATE.FindControl("SLP_SLPDate1")).FindControl("TextBoxCode");
        TextBox txt_BUSDATE_E = (TextBox)((ASP.wui_slp_slp_slpdate_ascx)this.slp_BUSDATE.FindControl("SLP_SLPDate2")).FindControl("TextBoxCode");

        string s_FileName = txt_Out_FileName.Text;
        if (s_FileName.ToLower().IndexOf(".xls") > 0)
        {
            s_FileName = s_FileName.Substring(0, s_FileName.Length - 4) + ".pdf";
        }
        else
        {
            s_FileName = s_FileName + ".pdf";
        }
        s_FileName = HttpUtility.UrlEncode(s_FileName, System.Text.Encoding.UTF8);

        string s_LocalUser = "";
        string s_LocalRole = "";
        #region 取得使用者名稱
        BCO.QueryCRMCommon comm = new BCO.QueryCRMCommon(ConntionDB);
        comm.GetUserAndRoleName(Session["UID"].ToString(), ref s_LocalUser, ref s_LocalRole);
        #endregion

        report = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

        // Load report
        report.Load(Server.MapPath("./REPORT/CRM161/CRM161_Report_Detl.rpt"));
        report.SetDataSource(dt);
        // Set Parameter
        report.SetParameterValue("par_Program_ID", this.PageCode);
        //report.SetParameterValue("par_LoginUser", Session["UID"].ToString());
        report.SetParameterValue("par_LoginUser", s_LocalUser.ToString());
        report.SetParameterValue("par_Role", s_LocalUser.ToString());
        report.SetParameterValue("par_BUSDATE", txt_BUSDATE_B.Text.Trim() + "~" + txt_BUSDATE_E.Text.Trim());
        report.SetParameterValue("par_CHAN_NO", this.slp_CHAN_NO.Text.Trim());
        report.SetParameterValue("par_ITEM", this.slp_ITEM.Text.Trim());
        report.SetParameterValue("par_Z_O", this.slp_Z_O_B.Text.Trim() + "~" + this.slp_Z_O_E.Text.Trim());
        report.SetParameterValue("par_MANUFACTURE", this.slp_MANUFACTURE_B.Text.Trim() + "~" + this.slp_MANUFACTURE_E.Text.Trim());
        report.SetParameterValue("par_STATUS", this.rdb_STATUS.SelectedItem.Text.Trim());


        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();
    }