コードでExcel(xlsx)ファイルを生成するための良いデザインパターンは何ですか?
詳細については、下部の更新を参照してください。 Excelファイル(xlsx形式)としてデータを出力する必要があるプロジェクトがときどきあります。通常、プロセスは次のとおりです。 ユーザーが私のアプリケーションのいくつかのボタンをクリックする 私のコードはDBクエリを実行し、結果を何らかの方法で処理します 私のコードは、Excel com相互運用ライブラリまたはサードパーティライブラリ(Aspose.Cellsなど)を使用して* .xlsxファイルを生成します これをオンラインで行う方法のコード例を簡単に見つけることができますが、より堅牢な方法を探しています。私のコードがいくつかの設計原則に従って、私のコードが維持可能で簡単に理解できるようにしたいと思います。 xlsxファイルを生成する最初の試みは次のとおりです。 var wb = new Workbook(); var ws = wb.Worksheets[0]; ws.Cells[0, 0].Value = "Header"; ws.Cells[1, 0].Value = "Row 1"; ws.Cells[2, 0].Value = "Row 2"; ws.Cells[3, 0].Value = "Row 3"; wb.Save(path); 長所:それほど多くはありません。動作するので、それは良いことです。 短所: セル参照はハードコーディングされているため、コード全体にマジックナンバーが散らばっています。 多くのセル参照を更新せずに列と行を追加または削除することは困難です。 サードパーティのライブラリを学ぶ必要があります。一部のライブラリは他のライブラリと同様に使用されますが、それでも問題が発生する可能性があります。com interopライブラリが1ベースのセル参照を使用し、Aspose.Cellsが0ベースのセル参照を使用するという問題がありました。 上に挙げたいくつかの短所に対処する1つのソリューションを次に示します。データのテーブルを、セルの操作や他のセル参照を妨害することなく移動したり変更したりできる独自のオブジェクトとして扱いたいと思いました。擬似コードは次のとおりです。 var headers = new Block(new …