📁 Step 1 — Select Data Source
Drop your .xlsx file here or click to browse
Supports .xlsx and .xls files
✅
{{ uploadedFile.original_filename }}
{{ (uploadedFile.size / 1024).toFixed(1) }} KB
Google credentials not configured. Go to Admin tab to upload your Google Cloud service account JSON.
Share your sheet with {{ gsheetServiceEmail }} (Editor permission required).
Share the sheet with the service account email (Editor permission).
⚙️ Step 2 — Configure Columns
{{ preview.sheet_names.length }} sheets available
| Use | Row | {{ cl }} |
|---|---|---|
| {{ row.row_number }} | {{ cell.substring(0, 40) }} |
📊 Processing Progress
{{ activeJob.status.toUpperCase() }}
{{ activeJob.processed_rows + activeJob.failed_rows }} / {{ activeJob.total_rows }} rows
{{ progressPct.toFixed(1) }}%
{{ activeJob.total_rows }}
Total
{{ activeJob.matched_rows }}
Matched
{{ Math.max(0, activeJob.processed_rows - activeJob.matched_rows) }}
Unmatched
{{ activeJob.failed_rows }}
Failed
Written to Google Sheet
{{ activeJob.error_message }}
📋 Job History
📭
No jobs yet. Upload an Excel file to get started.
{{ j.job_name || j.original_filename }}
GSheet
…
🔍
{{ detailJob.job_name || detailJob.original_filename }}
{{ detailJob.status.toUpperCase() }}
🔗 Open Google Sheet
Threshold: {{ detailJob.match_threshold }}% · {{ detailJob.processed_rows + detailJob.failed_rows }}/{{ detailJob.total_rows }} rows
{{ detailJob.total_rows }}
Total
{{ detailJob.matched_rows }}
Matched
{{ Math.max(0, detailJob.processed_rows - detailJob.matched_rows) }}
Unmatched
{{ detailJob.failed_rows }}
Failed
{{ detailProgressPct.toFixed(1) }}%
Status:
Result:
| Row | Comment | Score | Result | Status |
|---|---|---|---|---|
| {{ r.row_number }} | {{ r.match_score != null ? r.match_score.toFixed(1) + '%' : '—' }} | OK No — | {{ r.status }} |
…
⚙️ Settings
{{ s.key }}
{{ s.description }}
No settings.
🔑 Change Password
🔗 Google Sheets Integration
{{ gsheetConfigured ? 'Credentials configured' : 'No credentials uploaded' }}
Google Cloud Console → IAM → Service Accounts. Share your sheet with the service account email.
🛠 Maintenance
Removes cached downloaded images. Next job will re-download.
🗑 Xoá Jobs Cũ
Xoá vĩnh viễn tất cả jobs cũ hơn mốc thời gian chọn. Thao tác này sẽ xoá toàn bộ dữ liệu liên quan bao gồm file Excel gốc, file kết quả, ảnh screenshot đã cache và toàn bộ records trong database. KHÔNG thể khôi phục lại sau khi xoá.
❌ {{ pruneResult.error }}
✅ Đã xoá {{ pruneResult.deleted_jobs }} jobs và {{ pruneResult.cleaned_files }} files