Cayaqui.MPS.PptExport
0.3.3
See the version list below for details.
dotnet add package Cayaqui.MPS.PptExport --version 0.3.3
NuGet\Install-Package Cayaqui.MPS.PptExport -Version 0.3.3
<PackageReference Include="Cayaqui.MPS.PptExport" Version="0.3.3" />
<PackageVersion Include="Cayaqui.MPS.PptExport" Version="0.3.3" />
<PackageReference Include="Cayaqui.MPS.PptExport" />
paket add Cayaqui.MPS.PptExport --version 0.3.3
#r "nuget: Cayaqui.MPS.PptExport, 0.3.3"
#:package Cayaqui.MPS.PptExport@0.3.3
#addin nuget:?package=Cayaqui.MPS.PptExport&version=0.3.3
#tool nuget:?package=Cayaqui.MPS.PptExport&version=0.3.3
Cayaqui.MPS.PptExport
Genera slides PowerPoint para reportes EVM programáticamente, usando Syncfusion.Presentation. Cada sección implementa IPptSlideSection y agrega uno o más slides a un IPresentation existente.
Distribución propietaria — requiere contrato comercial con Cayaqui. Ver
LICENSE.txt.
Dependencias:
Cayaqui.MPS.ReportModels(DTOs y paleta MPS) + licencia Syncfusion Presentation.
v0.3.3 — 6 nuevas slides EPC (24 slides totales)
6 nuevas slides de project controls para ingeniería/procura:
| Slide | Output | Contenido |
|---|---|---|
WbsBudgetTableSlide |
tabla 9 cols | Code / WBS Name (indentado por Level) / BAC / EV / AC / EAC / CV / CPI / % Done. CV verde/rojo; CPI semáforo. |
EngProgressTableSlide |
tabla 8 cols | Code / Title / Discipline / Plan% / Actual% / Deviation / Planned Date / Forecast Date. Deviation coloreada. |
LookaheadTableSlide |
tabla 7 cols | WBS Code / Activity / Responsible / Start / Finish / Status / Comments. Status con coloring. |
EvmControlChartSlide |
line chart | SV (ámbar) y CV (azul) en el tiempo + línea cero de referencia. |
RaciMatrixSlide |
tabla pivot | Actividades × Roles. R=azul, A=púrpura, C=ámbar, I=neutro. |
PoRegisterSlide |
tabla 7 cols | PO# / Supplier / Description / Amount / Status / Issue Date / Delivery Date. |
Requiere Cayaqui.MPS.ReportModels ≥ 0.3.3. Sin breaking changes.
v0.2.0 — 18 slides EVM completos (Fase 1 + Fase 2)
Paridad total con Cayaqui.MPS.ExcelExport v0.6.0 y componentes MPS.Components.Evm.
Fase 1 — mirror ExcelExport (10 slides)
| Slide | Output | Contenido |
|---|---|---|
EvmKpiStripSlide |
tabla 8 cols | CPI/SPI/EV/AC/PV/BAC/EAC/VAC. Semáforo en CPI/SPI. Fila delta (Δ vs período anterior). |
EvmSCurveChartSlide |
line chart | 4 series (PV/EV/AC/Forecast) + stripline BAC horizontal + stripline ControlDate vertical. |
BurndownChartSlide |
line chart | Remaining + Ideal calculado + optional TargetDate stripline. |
PhysicalProgressCurveSlide |
line chart | Baseline/Plan/Actual/Forecast % + optional GoalLine (100%) + ControlDate. |
ProductionCurveSlide |
line chart | Plan/Actual + optional NameplateRate stripline (capacidad de planta). |
MonteCarloHistogramSlide |
column chart | Bins pre-calculados + textbox con N, min, max, P50/P80/P90. |
CashflowChartSlide |
combo dual-axis | Columnas mensuales (Plan/Actual/Forecast, eje primario) + líneas acumuladas (eje secundario). |
R9cTableSlide |
tabla 11 cols | Reporte 9 columnas AACE 80R-13 con variance coloring. |
RiskHeatmapSlide |
tabla grid N×M | Score coloring por celda (semáforo). |
ScheduleVarianceTableSlide |
tabla | Baseline/Current/Forecast + SV días + threshold coloring. |
Fase 2 — secciones nuevas (8 slides)
| Slide | Output | Contenido |
|---|---|---|
ContingencyDrawdownSlide |
line chart | Plan/Actual contingencia restante + optional ControlDate. |
WaterfallSlide |
tabla 3 cols | Cascada: Label + Valor + Acumulado. Colors por WaterfallStepKind (Total=azul, Add=verde, Subtract=rojo, etc.). |
ResourceHistogramSlide |
column stacked | Pivote Period×Category. Una serie coloreada por categoría + optional Capacity line. |
ManagementReserveTrackerSlide |
tabla | Eventos de reserva de gestión, running balance, semáforo inicial/final. |
TornadoChartSlide |
bar horizontal | Low/High deviations por ítem, ordenado de mayor a menor range. |
MilestoneStripSlide |
tabla 5 cols | Hitos con color de fila por MilestoneHealth (OnTime=verde, AtRisk=ámbar, Late=rojo, Done=neutral). |
RiskRegisterTableSlide |
tabla 10 cols | Registro completo con score cell coloring por umbral. |
ChangeOrderLogSlide |
tabla 8 cols | Log de órdenes de cambio con status cell coloring. |
v0.1.0 — Scaffold de infraestructura
Contratos base para el output layer PowerPoint:
| Tipo | Rol |
|---|---|
IPptSlideSection |
Interfaz: RenderAsync(IPresentation, IPptReportContext) |
IPptReportContext |
Acceso a opciones + helper AddSlide(...) |
PptReportContext |
Implementación default inyectable |
PptReportOptions |
Header color, accent color, tipografía, watermark |
MpsColorExtensions.ToPpt() |
MpsColor → IColor de Syncfusion |
ColorParser.ParseHex() |
HTML hex → (R, G, B) byte tuple |
Uso rápido — PptReport fluent builder
// DI registration
services.AddMpsPptExport(licenseKey: builder.Configuration["MPS:PptExportLicenseKey"]);
// Composition — en un handler, service o Blazor page
var report = new PptReport()
.AddEvmKpiStrip(new EvmKpiStripSlide { Snapshot = kpiData })
.AddEvmSCurveChart(new EvmSCurveChartSlide
{
Points = sCurvePoints,
Bac = 20_000_000m,
ControlDate = new DateTime(2026, 4, 30)
})
.AddCashflowChart(new CashflowChartSlide { Points = cashflowPoints })
.AddMilestoneStrip(new MilestoneStripSlide { Milestones = milestones })
.AddChangeOrderLog(new ChangeOrderLogSlide { Items = changeOrders })
.AddWbsBudgetTable(new WbsBudgetTableSlide
{
Title = "Presupuesto WBS",
Rows = wbsRows
})
.AddRaciMatrix(new RaciMatrixSlide
{
Title = "Matriz RACI",
Items = raciEntries
});
// Export (Blazor)
@inject IPptReportExporter PptExporter
@inject IJSRuntime JS
await using var stream = await PptExporter.ExportAsync(report);
var bytes = ((MemoryStream)stream).ToArray();
using var dotnetStream = new DotNetStreamReference(new MemoryStream(bytes));
await JS.InvokeVoidAsync("downloadFileFromStream",
$"reporte-{DateTime.Today:yyyy-MM-dd}.pptx",
dotnetStream);
Uso manual (sin builder)
using var prs = Presentation.Create();
prs.SlideSize.Type = SlideSizeType.Widescreen;
var ctx = new PptReportContext(new PptReportOptions
{
HeaderBackgroundColor = "#1F3864",
AccentColor = "#2E75B6",
WatermarkText = "DRAFT"
});
await new EvmKpiStripSlide { Snapshot = kpiData }.RenderAsync(prs, ctx);
await new EvmSCurveChartSlide { Points = sCurvePoints, Bac = 10_000_000m }.RenderAsync(prs, ctx);
await using var ms = new MemoryStream();
prs.Save(ms);
prs.Close();
Coordenadas de slides
Las medidas en la API de Syncfusion.Presentation se expresan en puntos (pt). Un slide widescreen (16:9) mide 720 × 540 pt internamente en las implementaciones MPS.
| Constante MPS | Valor |
|---|---|
SlideWidthPt |
720 |
SlideHeightPt |
540 |
MarginPt |
24 |
TitleHeightPt |
30 |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Cayaqui.MPS.ReportModels (>= 0.3.3)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Syncfusion.Presentation.Net.Core (>= 33.2.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
0.3.3 — 6 new slides: WbsBudgetTableSlide, EngProgressTableSlide, LookaheadTableSlide, EvmControlChartSlide (SV/CV line chart), RaciMatrixSlide (pivot table), PoRegisterSlide. New PptReport fluent builder with all 24 slide methods.
0.3.2 — Fix: MPS.Licensing.dll incluido en lib/net10.0/ del .nupkg (faltaba en 0.3.0/0.3.1 → 502.5 en IIS).
0.3.1 — Fix: re-publicación de 0.3.0 con binarios correctos. Sin diferencia de API.
0.3.0 — Licensing: AddMpsPptExport acepta licenseKey opcional (ECDSA P-256). Sin clave válida, cada slide generado incluye text box de marca de agua en rojo. PptLicenseState registrado en DI. Sin breaking changes.
0.2.0 — 18 slides EVM: EvmKpiStripSlide, EvmSCurveChartSlide, BurndownChartSlide, PhysicalProgressCurveSlide, ProductionCurveSlide, MonteCarloHistogramSlide, CashflowChartSlide, R9cTableSlide, RiskHeatmapSlide, ScheduleVarianceTableSlide, ContingencyDrawdownSlide, WaterfallSlide, ResourceHistogramSlide, ManagementReserveTrackerSlide, TornadoChartSlide, MilestoneStripSlide, RiskRegisterTableSlide, ChangeOrderLogSlide. 68 tests. Paridad completa con ExcelExport v0.6.0 y MPS.Components.Evm. 0.1.0 — Scaffold: IPptSlideSection, IPptReportContext, PptReportContext, PptReportOptions.