Expand description
Excel costing report renderer
Generates XLSX files with multiple sheets for corporate project costing:
- Profiles and Costs: Resource rates and totals
- Summary: Activities × Profiles matrix with effort allocation
- Schedule: Week-based Gantt chart with hour distribution formulas
§Dependency Support
When show_dependencies is enabled, the Schedule sheet includes:
- Task ID column for VLOOKUP references
- Depends On column showing predecessor task ID
- Dependency Type (FS/SS/FF/SF) with dropdown validation
- Lag in days (positive = delay, negative = lead)
- Formula-driven Start/End weeks that cascade when predecessors change
§Dependency Types
- FS (Finish-to-Start): Successor starts after predecessor finishes (most common)
- SS (Start-to-Start): Successor starts when predecessor starts
- FF (Finish-to-Finish): Successor finishes when predecessor finishes
- SF (Start-to-Finish): Successor finishes when predecessor starts
§What-If Analysis Support
The Schedule sheet uses Excel conditional formatting for dynamic Gantt visualization:
- Week cells show blue background when value > 0 (task has hours in that week)
- Week cells show alternating white/light-blue when value = 0 (no hours)
- This enables live what-if analysis: change effort/dependencies and colors update
Unlike static formatting (baked in at render time), conditional formatting allows the Gantt bar visualization to respond dynamically when users modify:
- Task effort (pd column)
- Dependencies (Depends On column)
- Lag values
§Example Output Structure
Sheet: Profiles and Costs
| Profile ID | Profile | Rate €/d | Days | Cost € |
|------------|----------------------|----------|------|----------|
| PM | Project Manager | 500 | 10 | 5000 |
| DEV | Developer | 400 | 50 | 20000 |
Sheet: Schedule (with dependencies)
| ID | Activity | Profile | Depends | Type | Lag | pd | Start | End | W1 | W2 | ...
|--------|----------|---------|---------|------|-----|----| ------|-----|----|----| ...
| design | Design | DEV | | | | 5 | 1 | =F | 20 | 20 | ...
| impl | Implement| DEV | design | FS | 0 | 10 | =F | =F | 0 | 0 | ...The Start Week formula for dependent tasks:
=IF(D2="", 1, IF(E2="FS", VLOOKUP(D2,TaskTable,9,0)+1+F2, ...))This creates a live schedule - change a task’s effort and all successors update!
Structs§
- Excel
Config - Configuration for Excel export (RFC-0009)
- Excel
Renderer - Excel costing report renderer
Enums§
- Schedule
Granularity - Schedule time granularity for Excel export