Spaces:
Sleeping
Sleeping
Excel Import Setup Instructions
Required Dependencies
To use the Excel import functionality, you need to install the following npm packages:
npm install xlsx
npm install @types/xlsx --save-dev
Features Added
1. Excel Import Component (ExcelImport.tsx)
- Template Download: Generates and downloads a properly formatted Excel template
- File Upload: Accepts .xlsx and .xls files
- Data Validation: Validates all required fields and data formats
- Error Reporting: Shows detailed errors and warnings
- Batch Processing: Handles large imports efficiently
2. Bulk Import Hook (useBulkImport.ts)
- Batch Processing: Processes assets in batches of 10 to avoid server overload
- Error Handling: Tracks successful and failed imports
- Progress Feedback: Provides detailed feedback on import results
- Cache Invalidation: Automatically refreshes the assets list after import
3. Updated Assets Page
- Import Button: Added "Import Excel" button in the header
- Import Modal: Large modal for the import process
- Integration: Seamlessly integrated with existing asset management
Excel Template Format
The template includes the following columns:
| Column | Required | Type | Example |
|---|---|---|---|
| Asset Type | Yes | String | Laptop, Desktop, Monitor, Extended Screen, Keyboard, Mouse, Wired Mouse, Wireless Mouse, Laptop Stand, Printer, Scanner, Tablet, Phone, Other |
| Brand/Model | Yes | String | Dell Latitude 5430 |
| Serial Number | Yes | String | DL5430-001 |
| Asset Condition | Yes | String | Excellent, Good, Fair, Poor |
| Purchase Date | No | Date | 2024-01-15 |
| Warranty Expiry | No | Date | 2027-01-15 |
| Purchase Cost | No | Number | 1200.00 |
| Current Value | No | Number | 1000.00 |
| Location | No | String | Office Floor 1 |
| Notes | No | String | Primary development laptop |
Validation Rules
Required Fields
- Asset Type: Must be one of the predefined types
- Brand/Model: Cannot be empty
- Serial Number: Cannot be empty
- Asset Condition: Must be Excellent, Good, Fair, or Poor
Optional Fields
- Dates: Must be valid date format (YYYY-MM-DD or Excel date)
- Numbers: Must be valid positive numbers
- Text Fields: No specific validation
Usage Instructions
Download Template:
- Click "Import Excel" button
- Click "Download Template" to get the formatted Excel file
Fill Template:
- Open the downloaded template
- Fill in your asset data following the format
- Save the file
Import Data:
- Click "Import Excel" button
- Select your filled Excel file
- Click "Process File" to validate
- Review any errors or warnings
- Click "Import X Assets" to complete the import
Error Handling
The system provides comprehensive error handling:
- File Format Errors: Invalid Excel files
- Missing Required Fields: Clear indication of what's missing
- Invalid Data Types: Date and number format validation
- Duplicate Serial Numbers: Server-side validation
- Batch Processing Errors: Individual asset import failures
Performance Considerations
- Batch Size: Processes 10 assets at a time
- Memory Efficient: Streams large Excel files
- Progress Feedback: Real-time import status
- Error Recovery: Continues processing even if some assets fail
Security Notes
- File Type Validation: Only accepts Excel files
- Data Sanitization: All input data is validated
- Server-Side Validation: Additional validation on the backend
- Error Logging: Failed imports are logged for debugging