本文整理汇总了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();
}
}
示例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)
//.........这里部分代码省略.........
示例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;
}
示例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();
}
示例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;
}
示例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;
}