帳票って、Graphics2Dとか使って線引いたり文字列書いたりするのがメインでしょ?
クラス階層不要と思うけどな。シートのほうも良く分からん。

読み込んだシートを数集類に判別した後、
それごとにデータをただ単に読んで、
データのラインナップを共有してんなら、
DataModelクラスでも使ってそいつを、
シート→モデル→帳票としてパラメータに使う。
帳票のほうは独自性がどうせ高くなるだろうから、
先に言ったように、クラス階層は意識させない。

データをチョコっと計算させたり、
独自のフォーマットに従わせたいような場合は、
データモデルの方をいじる。

帳票はそっからデータをもらって、あとは単に頑張って描画。
描画が複雑になるようならヘルパ用クラスを作って、
必要に応じて、各帳票クラスはそれをコンポジションとして使う。