django展示一个简单网页,实现读取并查询本地excel文件数据
时间: 2024-06-10 20:10:27 浏览: 260
首先,需要安装 `pandas` 库来读取 Excel 文件。可以使用以下命令来安装:
```
pip install pandas
```
接下来,在 Django 中创建一个视图函数,读取 Excel 文件数据并渲染到模板中。假设 Excel 文件名为 `data.xlsx`,包含一个名为 `Sheet1` 的工作表,其中包含三列数据:`id`、`name` 和 `age`。
```python
import pandas as pd
from django.shortcuts import render
def excel_data(request):
# 读取 Excel 文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# 获取查询参数
search_name = request.GET.get('name', '')
# 根据查询参数过滤数据
if search_name:
df = df[df['name'].str.contains(search_name)]
# 将数据转换为字典格式
data = df.to_dict('records')
# 渲染模板并返回响应
return render(request, 'excel_data.html', {'data': data, 'search_name': search_name})
```
在模板中,可以使用 Django 模板语言渲染数据和查询表单。以下示例代码展示了如何展示数据和查询表单:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Excel Data</title>
</head>
<body>
<h1>Excel Data</h1>
<form method="get">
<label for="name">Search by name:</label>
<input type="text" id="name" name="name" value="{{ search_name }}">
<button type="submit">Search</button>
</form>
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Age</th>
</tr>
</thead>
<tbody>
{% for row in data %}
<tr>
<td>{{ row.id }}</td>
<td>{{ row.name }}</td>
<td>{{ row.age }}</td>
</tr>
{% empty %}
<tr>
<td colspan="3">No data found.</td>
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>
```
在项目的 `urls.py` 中定义路由,将视图函数和 URL 路径匹配起来:
```python
from django.urls import path
from .views import excel_data
urlpatterns = [
path('excel-data/', excel_data, name='excel_data'),
]
```
现在可以在浏览器中访问 `http://localhost:8000/excel-data/`,查看 Excel 文件数据并进行查询。
阅读全文
相关推荐


















