請你幫我檢查爲什麽資料無法寫入進去from flask import Flask, render_template, request import pandas as pd from openpyxl import load_workbook app = Flask(__name__) @app.route('/') def index(): return render_template('index2.html') @app.route('/submit', methods=['POST']) def submit(): # 获取表单数据 line = request.form['line'] date = request.form['date'] model = request.form['model'] lists = request.form['lists'] number = request.form['number'] prod_date = request.form['prod_date'] shift = request.form['shift'] prod_line = request.form['prod_line'] responsible = request.form['responsible'] # 表单验证:检查是否所有表单字段都已填写 if not all([line, date, model, lists, number, prod_date, shift, prod_line, responsible]): return "<script>alert('请填写完整表单信息!');history.back();</script>" else: # 在这里添加提交表单信息的代码 return "<script>alert('提交成功!');window.location.href='/';</script>" # 将数据存储到 Excel 文件中 file_path = 'D:/data.xlsx' wb = load_workbook(file_path) ws = wb.active ws.append([line, date, model, lists, number, prod_date, shift, prod_line, responsible]) wb.save(file_path) return render_template('index2.html')
时间: 2024-03-27 22:36:25 浏览: 131
可能是因为将数据存储到 Excel 文件中的代码放错位置了,导致数据无法写入。建议将以下几行代码移动到表单验证的 else 语句块内:
```python
# 将数据存储到 Excel 文件中
file_path = 'D:/data.xlsx'
wb = load_workbook(file_path)
ws = wb.active
ws.append([line, date, model, lists, number, prod_date, shift, prod_line, responsible])
wb.save(file_path)
```
这样就可以在表单验证通过后,将数据存储到 Excel 文件中了。
相关问题
from flask import Flask, render_template, request import pandas as pd app = Flask(__name__) @app.route('/') def index(): return render_template("liang.html") if __name__ == '__main__': app.run(debug=True)
这段代码是一个使用Flask框架创建Web应用程序的示例。首先,我们导入了Flask和pandas库,并创建了一个名为app的Flask应用程序。然后,我们定义了一个名为index的路由,该路由返回一个名为liang.html的HTML模板。最后,我们检查当前文件是否为主程序,并在这种情况下运行Flask应用程序,启用调试模式。
请注意,代码中存在一个错误:在第一行中,应该将两个导入语句分开,并在第二行末尾添加一个分号。正确的代码如下所示:
```
from flask import Flask, render_template, request;
import pandas as pd;
app = Flask(__name__)
@app.route('/')
def index():
return render_template("liang.html")
if __name__ == '__main__':
app.run(debug=True)
```
from flask import Flask, render_template, request import pandas as pd from openpyxl import load_workbook app = Flask(__name__) @app.route('/') def index(): return render_template('index2.html') @app.route('/submit', methods=['POST']) def submit(): # 从前端获取表单数据 line = request.form['line'] date = request.form['date'] model = request.form['model'] lists = request.form['lists'] prod_date = request.form['prod_date'] shift = request.form['shift'] prod_line = request.form['prod_line'] responsible = request.form['responsible'] # 将数据存储到 Excel 文件中 file_path = 'D:/data.xlsx' wb = load_workbook(file_path) ws = wb.active ws.append([line, date, model, lists, prod_date, shift, prod_line, responsible]) wb.save(file_path)
这段代码是一个基于 Flask 框架的 Web 应用程序,它提供了两个路由,一个是 '/',一个是 '/submit'。当用户访问 '/' 时,它会返回一个名为 'index2.html' 的 HTML 模板文件;当用户通过 POST 方法提交表单数据到 '/submit' 时,它会将表单数据存储到一个名为 'data.xlsx' 的 Excel 文件中。
具体来说,这段代码使用了 Flask 框架的装饰器语法来定义路由,其中 @app.route('/') 表示访问根路径时会执行 index() 函数,@app.route('/submit', methods=['POST']) 表示提交表单数据时会执行 submit() 函数。在 submit() 函数中,它首先通过 request.form 来获取从前端提交的表单数据,然后使用 openpyxl 库来打开 Excel 文件,并将表单数据写入到 Excel 文件的第一张工作表中。最后,它使用 wb.save() 方法来保存 Excel 文件。
阅读全文