当前位置: 首页>>代码示例>>C#>>正文


C# Report.Export方法代码示例

本文整理汇总了C#中Report.Export方法的典型用法代码示例。如果您正苦于以下问题:C# Report.Export方法的具体用法?C# Report.Export怎么用?C# Report.Export使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Report的用法示例。


在下文中一共展示了Report.Export方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GenderPDFReport

 public void GenderPDFReport(LisReport lr, string rootPath,DataSet ds)
 {
     //清空数据库
     ClearDataSet(ds);
     //填充数据
     FillDataSet(lr, ds);
     Report report = new Report();
     //获取模板
     string modelName = GetReportModelName(lr);
     //获取生成文件全路径
     string fileFullName = GenderFileFullName(lr.ReportInfo, rootPath, lr.OrderNo);
     report.Load(GetReprotModelPath(modelName));
     report.RegisterData(ds);
     report.Prepare();
     PDFExport export = new PDFExport();
     //这里针对像流式这种生成PDF之后还要处理的情况。
     if (AfterCreatPDF(lr.ReportInfo.SectionNo))
     {
         string linshi = rootPath + "\\liushi\\linshi.pdf";
         report.Export(export, linshi);
         report.Dispose();
         List<MyMergePdf> lm = new List<MyMergePdf>();
         lm.Add(new MyMergePdf { Name = linshi });
         string liushiPDFname = getliushiname(lr.ReportInfo.SerialNo, lr.ReportInfo.SampleNo, rootPath);
         if (liushiPDFname != "")
         {
             try
             {
                 int page = Convert.ToInt32(liushiPDFname.Split('_')[2].Split('.')[0]);
                 lm.Add(new MyMergePdf { Name = rootPath + "\\liushi\\" + liushiPDFname, PagCount = page });
             }
             catch { }
         }
         mergePDFFiles(lm, fileFullName);
     }
     //一般情况。
     else
     {
         report.Export(export, fileFullName);
         report.Dispose();
     }
 }
开发者ID:XYSWLK,项目名称:XYSTest,代码行数:42,代码来源:PDFManager.cs

示例2: SendReport

        public void SendReport(Report report , Contact[] contacts , Report.ExportFormat Format, DateTime getCachedFrom, out bool isFromCache)
        {
            isFromCache=false;

            if(report.IsProxy)
                throw new Exception("Report cannot be Proxy");

            if(contacts.Length==0)
                return;

            string fileNamePattern=report.GetType().Name + "_" +  report.ID.ToString() + "_";
            string fileName=fileNamePattern + DateTime.Now.ToString("yyyyMMddHHmmss") + "." + Format.ToString();
            string cacheLookupFileName=fileNamePattern + getCachedFrom.ToString("yyyyMMddHHmmss") + "." + Format.ToString();
            string filePath=null;
            string reportString=null;

            // lookup cached report
            string[] lookupPaths=Directory.GetFiles(FI.Common.AppConfig.TempDir, fileNamePattern + "*." + Format.ToString());
            if(lookupPaths!=null)
            {
                foreach(string path in lookupPaths)
                {
                    string file=Path.GetFileName(path);
                    if(file.Length==cacheLookupFileName.Length && file.CompareTo(cacheLookupFileName)>0)
                    {
                        filePath=FI.Common.AppConfig.TempDir+ @"\" + file;
                        isFromCache=true;
                        break;
                    }
                }
            }
            if(filePath==null)
            {
                filePath=FI.Common.AppConfig.TempDir+ @"\" + fileName;
                report.Export(filePath, Format);
            }

            foreach(Contact cnt in contacts)
            {
                if(Format==Report.ExportFormat.HTML && reportString==null)
                {
                    if(cnt.DistributionFormat==Contact.DistributionFormatEnum.MessageBody || cnt.DistributionFormat==Contact.DistributionFormatEnum.Body_And_Attachment)
                    {
                        StreamReader sr=new StreamReader(filePath, System.Text.Encoding.Unicode, true);
                        if(sr!=null)
                        {
                            reportString=sr.ReadToEnd();
                            sr.Close();
                        }
                    }
                }

                //send via email
                try
                {
                    if(cnt.IsProxy)
                        cnt.Fetch();

                    // message object
                    OpenSmtp.Mail.MailMessage msg=new OpenSmtp.Mail.MailMessage();
                    msg.From=new OpenSmtp.Mail.EmailAddress(FI.Common.AppConfig.SmtpSender);
                    msg.To.Add(new OpenSmtp.Mail.EmailAddress(cnt.EMail));
                    msg.Subject=report.Name + " (" + report.Description + ")";

                    // attachment if ordered or report is not html
                    if(cnt.DistributionFormat==Contact.DistributionFormatEnum.Attachment ||
                        cnt.DistributionFormat==Contact.DistributionFormatEnum.Body_And_Attachment ||
                        Format!=Report.ExportFormat.HTML)
                    {
                        OpenSmtp.Mail.Attachment att=new OpenSmtp.Mail.Attachment(filePath);
                        //att.Encoding=System.Web.Mail.MailEncoding.UUEncode;
                        msg.Attachments.Add(att);
                    }

                    // message body (if retport is html)
                    if(Format==Report.ExportFormat.HTML &&
                        (cnt.DistributionFormat==Contact.DistributionFormatEnum.MessageBody ||
                        cnt.DistributionFormat==Contact.DistributionFormatEnum.Body_And_Attachment))
                    {
                        msg.HtmlBody=reportString;
                    }

            //					msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "0"); //This is crucial. put 0 there
            //					msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout", 90);

                    OpenSmtp.Mail.SmtpConfig.LogToText=false;

                    OpenSmtp.Mail.Smtp smtp=new OpenSmtp.Mail.Smtp();
                    smtp.SendTimeout=600;
                    smtp.Host=FI.Common.AppConfig.SmtpServer;
                    if(FI.Common.AppConfig.SmtpUserName!=null && FI.Common.AppConfig.SmtpUserName!="")
                    {
                        smtp.Username=FI.Common.AppConfig.SmtpUserName;
                        smtp.Password=FI.Common.AppConfig.SmtpPassword;
                    }
                    smtp.SendMail(msg);
            //					System.Web.Mail.SmtpMail.SmtpServer=FI.Common.AppConfig.SmtpServer;
            //					System.Web.Mail.SmtpMail.Send(msg);
                }
                catch(Exception exc)
//.........这里部分代码省略.........
开发者ID:GermanGlushkov,项目名称:FieldInformer,代码行数:101,代码来源:DistributionManager.cs

示例3: FeGuardarArchivosFacturaDevolucion

        private static Report FeGuardarArchivosFacturaDevolucion(ref FacturaElectronica oFacturaE, string sCfdiTimbrado, string sSerieFolio)
        {
            // Se obtienen las rutas a utilizar
            DateTime dAhora = DateTime.Now;
            string sRutaPdf = TheosProc.Config.Valor("Facturacion.Devolucion.RutaPdf");
            string sRutaXml = TheosProc.Config.Valor("Facturacion.Devolucion.RutaXml");
            string sAnioMes = (@"\" + dAhora.Year.ToString() + @"\" + dAhora.Month.ToString() + @"\");
            sRutaPdf += sAnioMes;
            Directory.CreateDirectory(sRutaPdf);
            sRutaXml += sAnioMes;
            Directory.CreateDirectory(sRutaXml);

            // Se guarda el xml
            string sArchivoXml = (sRutaXml + sSerieFolio + ".xml");
            File.WriteAllText(sArchivoXml, sCfdiTimbrado, Encoding.UTF8);

            // Se manda la salida de la factura
            string sArchivoPdf = (sRutaPdf + sSerieFolio + ".pdf");
            var oRep = new Report();
            oRep.Load(GlobalClass.ConfiguracionGlobal.pathReportes + "CfdiNotaDeCredito.frx");
            var ObjetoCbb = new { Imagen = oFacturaE.GenerarCbb() };
            oRep.RegisterData(new List<FacturaElectronica>() { oFacturaE }, "Factura");
            oRep.RegisterData(new List<object>() { ObjetoCbb }, "Cbb");
            oRep.SetParameterValue("Vendedor", oFacturaE.Adicionales["Vendedor"].ToUpper());
            oRep.SetParameterValue("TotalConLetra", Util.ImporteALetra(oFacturaE.Total).ToUpper());
            oRep.SetParameterValue("FacturaOrigen", oFacturaE.Adicionales["FacturaOrigen"]);

            UtilLocal.EnviarReporteASalida("Reportes.VentaFacturaDevolucion.Salida", oRep);

            // Se guarda el pdf
            var oRepPdf = new FastReport.Export.Pdf.PDFExport() { ShowProgress = true };
            oRep.Prepare();
            oRep.Export(oRepPdf, sArchivoPdf);

            return oRep;
        }
开发者ID:moisesiq,项目名称:aupaga,代码行数:36,代码来源:Ventas.cs

示例4: PrintPDFReports

 //
 public void PrintPDFReports(List<LisReport> reportList, string modelName)
 {
     DataSet ds = CreateDataSet("ReportTables.frd");
     FillDataSet(reportList, ds);
     Report report = new Report();
     report.Load(modelName);
     report.RegisterData(ds);
     report.Prepare();
     PDFExport export = new PDFExport();
     report.Export(export, "result.pdf");
     report.Dispose();
 }
开发者ID:XYSWLK,项目名称:XYSTest,代码行数:13,代码来源:PDFManager.cs

示例5: Corte


//.........这里部分代码省略.........
            }

            // Se valida que no haya Control de Cascos pendientes por completar
            if (Datos.Exists<CascosRegistrosView>(c => c.NumeroDeParteRecibido == null && c.FolioDeCobro == null
                && (c.VentaEstatusID != Cat.VentasEstatus.Cancelada && c.VentaEstatusID != Cat.VentasEstatus.CanceladaSinPago)))
            {
                UtilLocal.MensajeAdvertencia("No se han completado todos los registros de cascos. No se puede continuar.");
                return false;
            }

            // Se confirma la operación
            string sMensaje = string.Format("¿Estás seguro que deseas realizar el Cierre de Caja con un importe de {0}?", oCorte.Conteo.ToString(GlobalClass.FormatoMoneda));
            if (oCorte.Diferencia != 0)
                sMensaje += string.Format("\n\nToma en cuenta que hay una diferencia de {0} y por tanto se requerirá una autorización para continuar.",
                    oCorte.Diferencia.ToString(GlobalClass.FormatoMoneda));

            if (UtilLocal.MensajePregunta(sMensaje) != DialogResult.Yes)
                return false;

            // Se solicita la validación del usuario
            var Res = UtilLocal.ValidarObtenerUsuario("Ventas.CorteDeCaja.Agregar");
            if (Res.Error)
                return false;
            var oUsuario = Res.Respuesta;

            // Se solicita la validación de autorización, si aplica
            Usuario oAutorizo = null;
            if (oCorte.Diferencia != 0)
            {
                Res = UtilLocal.ValidarObtenerUsuario("Autorizaciones.Ventas.CorteDeCaja.Diferencia", "Autorización");
                //if (Res.Exito)
                    oAutorizo = Res.Respuesta;
            }

            // Se procede a guardar los datos
            DateTime dAhora = DateTime.Now;

            // Se manda a generar la Factura Global
            bool bFacturaGlobal = this.FacturaGlobal(oDia);
            if (!bFacturaGlobal)
               return false;

            // Se manda guardar el histórico del corte
            bool bSeguir = this.GuardarHistoricoCorte();
            if (!bSeguir)
                return false;

            // Se registra el cierre de caja
            oDia.CierreDebeHaber = oCorte.Total;
            oDia.Cierre = oCorte.Conteo;
            oDia.CierreUsuarioID = oUsuario.UsuarioID;
            Datos.Guardar<CajaEfectivoPorDia>(oDia);

            // Se registra la póliza de la diferencia, si hubo
            if (oCorte.Diferencia != 0)
            {
                if (oCorte.Diferencia > 0)
                    ContaProc.CrearPoliza(Cat.ContaTiposDePoliza.Diario, "DIFERENCIA EN CORTE", Cat.ContaCuentasAuxiliares.Caja, Cat.ContaCuentasAuxiliares.FondoDeCaja
                        , oCorte.Diferencia, DateTime.Now.ToShortDateString(), Cat.Tablas.CajaEfectivoPorDia, oDia.CajaEfectivoPorDiaID);
                else
                    ContaProc.CrearPoliza(Cat.ContaTiposDePoliza.Diario, "DIFERENCIA EN CORTE", Cat.ContaCuentasAuxiliares.FondoDeCaja, Cat.ContaCuentasAuxiliares.Caja
                        , (oCorte.Diferencia * -1), DateTime.Now.ToShortDateString(), Cat.Tablas.CajaEfectivoPorDia, oDia.CajaEfectivoPorDiaID);
            }

            // Se genera y guarda la autorización, si aplica
            if (oCorte.Diferencia != 0)
            {
                int iAutorizoID = (oAutorizo == null ? 0 : oAutorizo.UsuarioID);
                VentasProc.GenerarAutorizacion(Cat.AutorizacionesProcesos.CorteDeCaja, Cat.Tablas.CajaEfectivoPorDia, oDia.CajaEfectivoPorDiaID, iAutorizoID);
            }

            // Se genera un pdf con la información del corte
            var Rep = new Report();
            Rep.Load(GlobalClass.ConfiguracionGlobal.pathReportes + "CajaCorte.frx");
            Rep.RegisterData(oCorte.GenerarDatosCorte(), "Corte");
            Rep.RegisterData(this.ctlCajaGeneral.ctlDetalleCorte.GenerarDatosDetalle(), "Detalle");
            Rep.RegisterData(oCorte.GenerarDatosCambios(), "Cambios");
            Rep.RegisterData(new List<ConteoCaja>() { oCorte.ctlConteo.GenerarConteo() }, "Conteo");
            Rep.SetParameterValue("Sucursal", GlobalClass.NombreTienda);
            // Se obtiene el nombre del archivo
            string sRuta = Config.Valor("Caja.Corte.RutaArchivos");
            if (!Directory.Exists(sRuta))
                Directory.CreateDirectory(sRuta);
            string sArchivo = (sRuta + DateTime.Now.ToString("yyyyMMdd") + "_" + GlobalClass.NombreTienda + ".pdf");
            // Se genera el Pdf
            var oRepPdf = new FastReport.Export.Pdf.PDFExport() { ShowProgress = true };
            Rep.Prepare();
            Rep.Export(oRepPdf, sArchivo);

            // Se manda la impresion
            UtilLocal.EnviarReporteASalida("Reportes.CajaCorte.Salida", Rep, true);

            // Se regresa el paso del proceso
            oCorte.Paso = 0;

            // Se muestra una notifiación con el resultado
            UtilLocal.MostrarNotificacion("Procedimiento completado correctamente.");

            return true;
        }
开发者ID:moisesiq,项目名称:aupaga,代码行数:101,代码来源:VentasCaja.cs

示例6: CambioTurno

        private bool CambioTurno()
        {
            // Se ejecuta una acción dependiendo del "paso" en el que vaya el proceso
            //   Paso 0: Corte mostrado
            //   Paso 1: Pantalla para conteo mostrada
            //   Paso 2: Corte mostrado con conteo realizado
            CajaCambioTurno oCambioTurno = this.ctlCajaGeneral.ctlCambioTurno;
            switch (oCambioTurno.Paso)
            {
                case 0:  // De momento no aplica
                    return false;
                case 1:
                    oCambioTurno.RegistrarConteo(oCambioTurno.ctlConteo.Total);
                    oCambioTurno.Paso = 2;
                    return false;
            }

            // Se piden las contraseñas
            var oResU1 = UtilLocal.ValidarObtenerUsuario(null, false, "Engrega");
            if (oResU1.Error)
                return false;
            var oResU2 = UtilLocal.ValidarObtenerUsuario(null, false, "Recibe");
            if (oResU2.Error)
                return false;

            // Se genera un pdf con la información del corte
            var Rep = new Report();
            Rep.Load(GlobalClass.ConfiguracionGlobal.pathReportes + "CajaCorte.frx");
            Rep.RegisterData(oCambioTurno.GenerarDatosCorte(), "Corte");
            Rep.RegisterData(this.ctlCajaGeneral.ctlDetalleCorte.GenerarDatosDetalle(), "Detalle");
            Rep.RegisterData(oCambioTurno.GenerarDatosCambios(), "Cambios");
            Rep.RegisterData(new List<ConteoCaja>() { oCambioTurno.ctlConteo.GenerarConteo() }, "Conteo");
            Rep.SetParameterValue("Sucursal", GlobalClass.NombreTienda);
            Rep.SetParameterValue("Entrega", oResU1.Respuesta.NombreUsuario);
            Rep.SetParameterValue("Recibe", oResU2.Respuesta.NombreUsuario);
            // Se obtiene el nombre del archivo
            int iConsecutivo = 0;
            string sRuta = Config.Valor("Caja.CambioTurno.RutaArchivos");
            string sFormato = (sRuta + DateTime.Now.ToString("yyyyMMdd") + "-{0}.pdf");
            string sArchivo;
            do {
                sArchivo = string.Format(sFormato, ++iConsecutivo);
            } while (File.Exists(sArchivo));
            // Se genera el Pdf
            var oRepPdf = new FastReport.Export.Pdf.PDFExport() { ShowProgress = true };
            Rep.Prepare();
            Rep.Export(oRepPdf, sArchivo);

            // Se manda la impresion
            UtilLocal.EnviarReporteASalida("Reportes.CajaCorte.Salida", Rep, true);

            // Se regresa el paso del proceso
            oCambioTurno.Paso = 0;

            // Se registra el cambio de turno en la base de datos
            Datos.Guardar<CajaCambioDeTurno>(new CajaCambioDeTurno()
            {
                SucursalID = GlobalClass.SucursalID,
                Fecha = DateTime.Now,
                EntregaUsuarioID = oResU1.Respuesta.UsuarioID,
                RecibeUsuarioID = oResU2.Respuesta.UsuarioID,
                Total = oCambioTurno.Total,
                Conteo = oCambioTurno.Conteo
            });

            // Se muestra una notifiación con el resultado
            UtilLocal.MostrarNotificacion("Procedimiento completado correctamente.");

            return true;
        }
开发者ID:moisesiq,项目名称:aupaga,代码行数:70,代码来源:VentasCaja.cs


注:本文中的Report.Export方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。