django批量导入Excel表格数据
时间: 2024-05-05 07:15:42 浏览: 81
可以使用Python的openpyxl库来操作Excel表格,读取表格数据并将其导入到Django中的数据库中。
1. 首先安装openpyxl库:
```
pip install openpyxl
```
2. 在Django的models.py文件中定义数据模型,例如:
```python
from django.db import models
class Student(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
grade = models.CharField(max_length=10)
```
3. 创建一个视图函数,用于处理上传的Excel文件并将数据导入到数据库中:
```python
from django.shortcuts import render
from openpyxl import load_workbook
from .models import Student
def import_excel(request):
if request.method == 'POST':
file = request.FILES.get('file')
workbook = load_workbook(file)
worksheet = workbook.active
for row in worksheet.iter_rows(min_row=2, values_only=True):
name, age, grade = row
student = Student(name=name, age=age, grade=grade)
student.save()
return render(request, 'import_excel.html', {'success': True})
else:
return render(request, 'import_excel.html')
```
4. 创建一个HTML模板,包含一个表单用于上传Excel文件:
```html
{% if success %}
<p>导入成功!</p>
{% endif %}
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="file">
<button type="submit">导入</button>
</form>
```
5. 在urls.py中添加一个url来映射到这个视图函数:
```python
from django.urls import path
from .views import import_excel
urlpatterns = [
path('import_excel/', import_excel, name='import_excel'),
]
```
6. 运行Django服务器并访问导入Excel的页面,选择一个Excel文件并点击“导入”按钮,即可将表格数据导入到数据库中。
阅读全文