django导入excel到数据库
时间: 2023-09-05 18:07:43 浏览: 143
你可以使用Django自带的`openpyxl`库来导入Excel数据到数据库。
首先需要安装`openpyxl`库:
```
pip install openpyxl
```
然后在Django的views.py文件中编写导入Excel数据的代码,例如:
```python
from openpyxl import load_workbook
from .models import MyModel
def import_excel(request):
if request.method == 'POST':
excel_file = request.FILES['excel_file']
wb = load_workbook(excel_file)
worksheet = wb.active
for row in worksheet.iter_rows(min_row=2, values_only=True):
MyModel.objects.create(name=row[0], description=row[1])
return render(request, 'import_excel.html')
```
在上面的示例中,我们首先从请求中获取Excel文件,然后使用`load_workbook`函数加载Excel文件。接下来,我们使用`iter_rows`函数遍历Excel文件中的每一行数据,并使用`MyModel.objects.create()`函数将数据保存到数据库中。
最后,我们可以在Django的模板中添加一个表单,以便用户上传Excel文件并执行导入操作。例如:
```html
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<label for="excel_file">选择Excel文件:</label>
<input type="file" name="excel_file" id="excel_file">
<button type="submit">导入</button>
</form>
```
在上面的示例中,我们使用了Django的CSRF保护机制,并添加了一个文件上传输入框和一个提交按钮。用户选择Excel文件并点击“导入”按钮后,表单将被提交到`import_excel`视图函数进行处理。
阅读全文