👥 病人資料 Excel 匯入系統
從 Excel 檔案匯入病人資料至 patient_record 資料表
🔍 檢查資料庫狀態
📊 資料庫狀態
{{ databaseStatus.total_records }}
總記錄數
{{ databaseStatus.records_with_patient_id }}
有病人編號
{{ databaseStatus.unique_patient_ids }}
唯一病人編號
{{ databaseStatus.table_exists ? '✅' : '❌' }}
資料表狀態
📋 匯入說明
1
選擇 Excel 檔案
支援 .xlsx 和 .xls 格式
2
預覽資料
檢查欄位對應和重複記錄
3
確認匯入
執行資料匯入並查看結果
必要欄位:
• 病人編號 (patient_id)
• 中文姓名 (chinese_name)
可選欄位:
• 英文姓名、出生日期、性別
• 電話#1、電話#2、住址、電郵地址
• 血型、G6PD、懷孕、懷孕次數
• 收費類別、途徑、備註、新增病人紀錄日期
⚠️ 重複處理:
已存在相同病人編號的記錄將會被跳過
📤 選擇 Excel 檔案
👥
拖拽 Excel 檔案到此處或
點擊選擇
支援 .xlsx 和 .xls 格式,最大 50MB
📄
{{ selectedFile.name }}
{{ formatFileSize(selectedFile.size) }}
處理中...
👁️ 預覽資料
🗑️ 移除檔案
{{ validationErrors.file }}
👁️ 資料預覽
{{ previewResults.success ? '✅ 預覽成功' : '❌ 預覽失敗' }}
{{ previewResults.row_count }}
總記錄數
{{ previewResults.new_records_count }}
新記錄
{{ previewResults.existing_records_count }}
重複記錄
{{ previewResults.columns.length }}
欄位數
⚠️ 缺少必要欄位
缺少欄位:{{ previewResults.missing_columns.join(', ') }}
請確認 Excel 檔案包含所有必要欄位,否則匯入可能失敗。
🗂️ 欄位對應
Excel 欄位
{{ col }}
→ {{ previewResults.column_mapping[col] }}
... 還有 {{ previewResults.columns.length - 8 }} 個欄位
對應資料庫欄位
{{ dbCol }}
← {{ excelCol }}
📋 資料範例 (前10筆)
{{ col }}
{{ row[col] || '' }}
📋 匯入摘要
檔案總記錄數:
{{ previewResults.row_count }} 筆
已存在記錄:
{{ previewResults.existing_records_count }} 筆 (將跳過)
將匯入新記錄:
{{ previewResults.new_records_count }} 筆
⚠️ 所有記錄都已存在,無需匯入
📋 待匯入記錄預覽 (前 {{ Math.min(previewResults.new_records_preview.length, 20) }} 筆)
{{ column }}
{{ record[column] || '-' }}
... 還有 {{ previewResults.new_records_count - 20 }} 筆記錄將被匯入
⚠️ 重複記錄預覽 (前 {{ Math.min(previewResults.existing_records_preview.length, 10) }} 筆) - 將跳過
{{ column }}
{{ record[column] || '-' }}
... 還有 {{ previewResults.existing_records_count - 10 }} 筆重複記錄將被跳過
🔄 重新選擇
匯入中...
✅ 開始匯入 ({{ previewResults.new_records_count }} 筆新記錄)
📊 匯入進度
{{ importProgress.message }}
{{ importProgress.percentage }}%
📋 匯入結果
{{ importResults.success ? '✅ 匯入成功' : '❌ 匯入失敗' }}
{{ importResults.records_processed }}
處理記錄
{{ importResults.records_inserted }}
成功匯入
{{ importResults.records_skipped }}
跳過記錄
{{ importResults.errors.length }}
錯誤數量
{{ importResults.message }}
⏭️ 跳過的病人編號
{{ patientId }}
還有 {{ importResults.records_skipped - importResults.skipped_patient_ids.length }} 個記錄被跳過...
❌ 錯誤訊息
• {{ error }}
← 返回首頁
🔄 重新開始
🔍 檢查資料庫