📊 病歷資料 Excel 匯入系統

從 Excel 檔案匯入病歷資料至 elpis_medical_record_copy 資料表

📊 資料庫狀態

{{ databaseStatus.total_records }}
總記錄數
{{ databaseStatus.records_with_diagnosis_number }}
有診症編號
{{ databaseStatus.unique_diagnosis_numbers }}
唯一診症編號
{{ databaseStatus.table_exists ? '✅' : '❌' }}
資料表狀態

📋 匯入說明

1
選擇 Excel 檔案
支援 .xlsx 和 .xls 格式
2
預覽資料
檢查欄位對應和重複記錄
3
確認匯入
執行資料匯入並查看結果
必要欄位:
• 病人姓名 (patient_name)
• 病人編號 (patient_id)
• 診症編號 (diagnosis_number)
⚠️ 重複處理:已存在相同診症編號的記錄將會被跳過

📤 選擇 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 }}

🆕 將匯入新記錄預覽

{{ previewResults.new_records_count }} 筆
診症編號 病人姓名 病人編號 紀錄日期 主診醫師 病名
{{ record['診症編號'] || '' }} {{ record['病人姓名'] || '' }} {{ record['病人編號'] || '' }} {{ record['紀錄日期'] || '' }} {{ record['主診醫師'] || '' }} {{ record['病名'] || '' }}
... 還有 {{ previewResults.new_records_preview.length - 20 }} 筆新記錄將被匯入

⚠️ 已存在記錄 (將跳過)

{{ previewResults.existing_records_count }} 筆
診症編號 病人姓名 病人編號 紀錄日期 狀態
{{ record['診症編號'] || '' }} {{ record['病人姓名'] || '' }} {{ record['病人編號'] || '' }} {{ record['紀錄日期'] || '' }} {{ record['狀態'] || '' }}
... 還有 {{ previewResults.existing_records_preview.length - 10 }} 筆已存在記錄將被跳過

📋 檔案資料範例 (前10筆)

{{ col }}
{{ row[col] || '' }}

📊 匯入進度

{{ importProgress.message }} {{ importProgress.percentage }}%

📋 匯入結果

{{ importResults.success ? '✅ 匯入成功' : '❌ 匯入失敗' }}
{{ importResults.records_processed }}
處理記錄
{{ importResults.records_inserted }}
成功匯入
{{ importResults.records_skipped }}
跳過記錄
{{ importResults.errors.length }}
錯誤數量
{{ importResults.message }}

⏭️ 跳過的診症編號

{{ diagNumber }}
還有 {{ importResults.records_skipped - importResults.skipped_diagnosis_numbers.length }} 個記錄被跳過...

❌ 錯誤訊息

• {{ error }}
← 返回首頁