全一覧を1つのExcelブックで出力する #27

Closed
opened 2026-09-27 17:58:30 +00:00 by joe · 0 comments
Owner

背景

CSV出力は弔問客・香典返し・発送の3種のみで、会計や引き継ぎで表計算ソフトに取り込むには列が分かれていると扱いにくい。1つのブックにまとめて出力したい。

実装内容(完了)

  • GET /export/workbook.xlsx で1つのブックを出力(要ログイン)
  • シート: 収支 / 弔問客 / 香典返し / 発送 / 見積 / 経費
  • 書式: 見出しの太字+グレー背景+中央揃え、列幅を内容から自動(全角は2文字幅で計算、8〜40)、金額列を通貨書式(#,##0"円")、先頭行の固定、オートフィルタ
  • ダッシュボードに「Excelで出力」リンクを追加
  • CSVとExcelで行の組み立てを共通化(app/services/reports.py)。ダッシュボードの集計も同モジュールへ移動
  • openpyxlを追加

検証

  • テスト240件パス(うちExcel 7件)。ブックをopenpyxlで読み直してシート名・値・書式を確認
  • 稼働サーバーでダウンロード確認: 未ログイン302 / ログイン後200・12,929バイト・MIME正常
  • 実データの内容: 収支5行・弔問客10行・香典返し10行・発送10行・見積1行・経費3行。見出し太字+背景、A2固定、フィルタあり
## 背景 CSV出力は弔問客・香典返し・発送の3種のみで、会計や引き継ぎで表計算ソフトに取り込むには列が分かれていると扱いにくい。1つのブックにまとめて出力したい。 ## 実装内容(完了) - `GET /export/workbook.xlsx` で1つのブックを出力(要ログイン) - シート: **収支 / 弔問客 / 香典返し / 発送 / 見積 / 経費** - 書式: 見出しの太字+グレー背景+中央揃え、列幅を内容から自動(全角は2文字幅で計算、8〜40)、金額列を通貨書式(`#,##0"円"`)、先頭行の固定、オートフィルタ - ダッシュボードに「Excelで出力」リンクを追加 - CSVとExcelで行の組み立てを共通化(`app/services/reports.py`)。ダッシュボードの集計も同モジュールへ移動 - `openpyxl`を追加 ## 検証 - テスト240件パス(うちExcel 7件)。ブックをopenpyxlで読み直してシート名・値・書式を確認 - 稼働サーバーでダウンロード確認: 未ログイン302 / ログイン後200・12,929バイト・MIME正常 - 実データの内容: 収支5行・弔問客10行・香典返し10行・発送10行・見積1行・経費3行。見出し太字+背景、A2固定、フィルタあり
joe closed this issue 2026-09-27 17:58:31 +00:00
Sign in to join this conversation.
No labels
bug
cleanup
enhancement
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
joe/sougi#27
No description provided.