5.5 KiB
5.5 KiB
領據列印模版檔案說明
檔案位置
- 路徑:
~/Template/領據列印模版.xlsx - 格式: Excel 2007+ (*.xlsx)
模版結構
模版檔案包含以下工作表:
1. 勞務費工作表
名稱: 勞務費
包含的可替換欄位 (使用 [欄位名稱] 格式):
[領據編號]- 領據編號[計畫代號]- 計畫代號[計畫名稱]- 計畫名稱[活動日期]- 活動日期[領款人姓名]- 領款人姓名[身分證字號]- 身分證字號[費用別]- 費用別[單價]- 單價[數量]- 數量[單位]- 單位[扣繳類別]- 扣繳類別[合計金額]- 合計金額[應扣繳稅額]- 應扣繳稅額[服務費]- 服務費
2. 差旅費工作表
名稱: 差旅費
包含的可替換欄位 (使用 [欄位名稱] 格式):
[領據編號]- 領據編號[計畫代號]- 計畫代號[計畫名稱]- 計畫名稱[活動日期]- 活動日期[領款人姓名]- 領款人姓名[身分證字號]- 身分證字號[費用別]- 費用別[起點]- 起點[訖點]- 訖點[票價資訊]- 票價資訊[捷運公車]- 捷運/公車費用[火車]- 火車費用[計程車]- 計程車費用[高鐵飛機]- 高鐵/飛機費用[自行開車]- 自行開車費用[過路費停車費]- 過路費/停車費[住宿費]- 住宿費[合計]- 合計金額
完整格式複製
系統會完整複製以下所有格式設定:
儲存格格式
- ✅ 字體(名稱、大小、粗體、斜體、刪除線、底線)
- ✅ 字體顏色
- ✅ 背景顏色/填充樣式
- ✅ 邊框(上下左右、線條樣式、顏色)
- ✅ 水平對齊(左、中、右、靠兩端)
- ✅ 垂直對齊(上、中、下)
- ✅ 文字換行
- ✅ 數字格式(日期、貨幣、百分比等)
工作表格式
- ✅ 合併儲存格
- ✅ 列高
- ✅ 欄寬
- ✅ 格線顯示/隱藏
- ✅ 格線列印設定
列印設定
- ✅ 紙張大小
- ✅ 橫向/直向
- ✅ 縮放比例
- ✅ 符合頁面設定
- ✅ 頁面邊界(上下左右)
使用方式
- 在模版檔案中設計單據格式 (包含表頭、邊框、顏色等)
- 在需要動態替換的位置放入
[欄位名稱]作為佔位符 - 系統會自動:
- 載入模版工作簿 (唯讀)
- 建立新的產出工作簿
- 複製模版工作表到產出工作簿(完整保留所有格式)
- 將佔位符替換為實際數據
- 為每筆領據產生獨立的工作表
架構設計
兩個工作簿分離設計:
- 模版工作簿: 唯讀,載入後不修改
- 產出工作簿: 全新建立,包含所有產出的工作表
這樣設計的優點:
- ✅ 模版檔案保持不變,不受產出影響
- ✅ 避免樣式衝突
- ✅ 複製更穩定可靠
- ✅ 可重複使用模版
- ✅ 完整保留所有格式設定
編輯建議
- 在 Excel 中編輯: 使用 Excel 開啟並設計單據格式
- 保存格式: 確保以 *.xlsx 格式保存
- 欄位替換:
- 在任何單元格放置
[欄位名稱] - 支援部分替換 (例:
金額: [合計金額] 元) - 建議為方便維護,保持欄位為獨立單元格
- 在任何單元格放置
- 格式設計:
- ✨ 自由設定字體、大小、顏色
- ✨ 自由設定邊框、背景色
- ✨ 可使用合併儲存格
- ✨ 可設定水平/垂直對齊
- ✨ 可設定列高、欄寬
- ✨ 可設定格線顯示/隱藏
- ✨ 可設定列印方向和邊界
- 所有這些設定都會被完整複製到產出檔案
範例
模版中的某個單元格可能看起來像:
┌─────────────────────────────┐
│ 領據編號: [領據編號] │ ← 粗體、14pt、置中
├─────────────────────────────┤
│ 計畫代號: [計畫代號] │ ← 一般、12pt、靠左
│ 領款人: [領款人姓名] │ ← 有底色、有邊框
│ 金額: [合計金額] │ ← 貨幣格式、靠右
└─────────────────────────────┘
產出時會自動替換為:
┌─────────────────────────────┐
│ 領據編號: 123 │ ← 保留粗體、14pt、置中
├─────────────────────────────┤
│ 計畫代號: ABC001 │ ← 保留一般、12pt、靠左
│ 領款人: 王小明 │ ← 保留底色、邊框
│ 金額: 50,000 │ ← 保留貨幣格式、靠右
└─────────────────────────────┘
所有格式都會被完整保留!
技術細節
- 複製方式: 跨工作簿完整複製
- 行資料 + 列高
- 儲存格內容 + 完整樣式
- 字體 + 所有屬性
- 邊框 + 對齊 + 格式
- 合併儲存格區域
- 欄寬設定
- 格線和列印設定
- 樣式處理: 在目標工作簿重新建立樣式物件和字體物件
- 替換邏輯: 簡單的字串替換,支援多次出現同一欄位
- 工作表命名: 產出的工作表名稱為
勞務費_編號_序號或差旅費_編號_序號 - 模版保留: 模版工作簿在使用後關閉,不受影響
- 記憶體管理: 使用 MemoryStream 直接產出,不需暫存檔案