Skip to main content

Module excel

Module excel 

Source
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§

ExcelConfig
Configuration for Excel export (RFC-0009)
ExcelRenderer
Excel costing report renderer

Enums§

ScheduleGranularity
Schedule time granularity for Excel export