【原创】简易学生成绩查询系统Excel版

简易学生成绩查询系统通常是为了方便学校、教师和学生能够快速查询和管理成绩而设计的一种工具。从之前提供的信息来看,我们可以总结出简易学生成绩查询系统的一些常见功能:

易查分成绩查询系统功能特点:

  • **成绩导入与管理**:

  • 教师可以将Excel格式的成绩单上传到系统中。Excel格式字段不固定,可以自定义

  • 系统会自动处理成绩数据,减轻教师的工作负担。

  • 支持成绩的导入、编辑和导出等功能。

  • **成绩查询**:

  • 学生和家长可以通过二维码快速访问成绩查询页面。

  • 查询过程简单快捷,不需要安装额外的软件或在多个平台之间切换。

  • **个性化设置**:

  • 教师可以根据需要自定义查询方案,包括设置标题、查询列和查询条件等。

  • 提供了灵活的配置选项,以满足不同教师的具体需求。

  • **安全性与隐私保护**:

  • 系统确保成绩数据的安全性和学生的个人信息隐私。

  • 只有授权的用户才能访问特定的数据。

  • **技术支持**:

  • 即使是计算机技能有限的教师也能轻松上手使用。

其他简易学生成绩查询系统的特点:

  • **成绩录入**:

  • 成绩可以手动录入表格中,或者通过表单的方式由多名教师同时录入,以确保数据的准确性并防止信息泄露。

  • **成绩管理**:

  • 系统可能包括学生信息管理、成绩统计、不及格学生筛选等功能。

  • 可能会有基本的数据统计和图表展示,帮助教师快速了解班级成绩的整体情况。

  • **用户界面友好**:

  • 设计简洁明了的用户界面,便于用户操作。

  • 提供清晰的导航和直观的交互体验。

  • **兼容多种平台**:

  • 用户可以从多种设备上访问系统,如电脑、平板或手机。

  • **扩展性**:

  • 有些系统可能还支持与学校现有的信息系统集成,或者提供API接口用于与其他服务对接。

综上所述,简易学生成绩查询系统的主要目标是简化成绩管理流程,提高效率,并确保成绩信息的安全与隐私。这些系统通常具备用户友好的界面和直观的操作流程,旨在让教师和学生都能够轻松使用。

复制代码
====================== 目录结构
-rw-r--r-- 1 root root   2901 Jun 30 10:41 app.py
-rw-r--r-- 1 root root   1114 Jun 30 10:49 app.spec
drwxr-xr-x 3 root root     17 Jun 30 10:49 build
drwxr-xr-x 3 root root     17 Jun 30 10:49 dist
-rw------- 1 root root 732070 Aug  6 15:19 nohup.out
drwxr-xr-x 2 root root     95 Jun 30 10:42 path_to_your_data_folder
drwxr-xr-x 2 root root     32 Jun 30 10:49 __pycache__
drwxr-xr-x 2 root root     97 Jun 30 10:55 static
drwxr-xr-x 2 root root     61 Jun 30 10:16 templates

====================== js css 静态文件

[root@home-centos7 02-chengji-chaxun-xitong]# ll static/
total 328
-rw-r--r-- 1 root root 155764 Jun 30 10:59 bootstrap.min.css
-rw-r--r-- 1 root root  58072 Jun 30 10:55 bootstrap.min.js
-rw-r--r-- 1 root root  86659 Jun 30 10:55 jquery.min.js
-rw-r--r-- 1 root root  21162 Jun 30 10:55 popper.min.js
====================== 模板文件
ll templates/
total 12
-rw-r--r-- 1 root root 1933 Jun 30 10:57 index.html
-rw-r--r-- 1 root root 1179 Jun 30 10:16 login.html
-rw-r--r-- 1 root root 1767 Jun 30 10:16 upload.html
======================表格,可以在线上传,删除
 ll path_to_your_data_folder/
total 36
-rw-r--r-- 1 root root 10720 Jun 30 10:42 第2单元测试.xlsx
-rw-r--r-- 1 root root 10721 Jun 30 10:42 第3单元测试.xlsx
-rw-r--r-- 1 root root 10587 Jun 30 10:42 第一单元测试.xlsx

app.py

复制代码
from flask import Flask, request, render_template, redirect, url_for, session
import pandas as pd
import threading
import time
import os

app = Flask(__name__)
app.secret_key = 'your_secret_key'  # 请替换为一个安全的密钥
app.config['UPLOAD_FOLDER'] = 'path_to_your_data_folder'  # 请替换为您的数据文件夹路径

df = pd.DataFrame()
current_file = ''
admin_password = 'admin49'  # 请替换为您的管理密码

def load_data(file_name):
    global df, current_file
    current_file = file_name
    #df = pd.read_excel(os.path.join(app.config['UPLOAD_FOLDER'], file_name))
    df = pd.read_excel(os.path.join(app.config['UPLOAD_FOLDER'], file_name), engine='openpyxl')

def periodic_refresh(interval=300):
    while True:
        if current_file:
            load_data(current_file)
        time.sleep(interval)

@app.route('/', methods=['GET', 'POST'])
def index():
    files = [f for f in os.listdir(app.config['UPLOAD_FOLDER']) if f.endswith('.xlsx')]
    columns = df.columns.tolist()
    score = {}
    message = ""

    if request.method == 'POST':
        selected_file = request.form['file']
        load_data(selected_file)
        sfz = request.form['sfz']
        result = df[df['身份证'] == int(sfz)]
        if result.empty:
            message = "未找到该身份证号的成绩。"
        else:
            score = result.to_dict(orient='records')[0]

    return render_template('index.html', files=files, score=score, columns=columns, message=message)

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        password = request.form['password']
        if password == admin_password:
            session['logged_in'] = True
            return redirect(url_for('upload'))
        else:
            return render_template('login.html', error='密码错误')
    return render_template('login.html')

@app.route('/upload', methods=['GET', 'POST'])
def upload():
    if not session.get('logged_in'):
        return redirect(url_for('login'))
    files = [f for f in os.listdir(app.config['UPLOAD_FOLDER']) if f.endswith('.xlsx')]
    if request.method == 'POST':
        file = request.files['file']
        if file and file.filename.endswith('.xlsx'):
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], file.filename))
            return redirect(url_for('upload'))
    return render_template('upload.html', files=files)

@app.route('/delete/<filename>', methods=['POST'])
def delete(filename):
    if not session.get('logged_in'):
        return redirect(url_for('login'))
    os.remove(os.path.join(app.config['UPLOAD_FOLDER'], filename))
    return redirect(url_for('upload'))

if __name__ == '__main__':
    threading.Thread(target=periodic_refresh, args=(5,), daemon=True).start()
    app.run(debug=True, host='0.0.0.0')
相关推荐
hPw0eKIqD10 小时前
使用二次封装的Excel COM 组件操作Excel\WPS ET中的区域、行和列
excel·wps
冰心孤城17 小时前
Excel: xls与xlsx格式转换排坑指南
java·前端·excel
金豆呀20 小时前
WPS批量提取Word文档内容生成固定格式Excel表格
word·excel·wps
Access开发易登软件1 天前
Access 怎么做前后端分离?用 Web API 读写 SQL Server
前端·数据库·人工智能·microsoft·excel·access
红莲凪是2 天前
使用二次封装的Excel COM 组件操作Excel\WPS ET IExcelRange 高级应用
python·excel·wps
用户298698530142 天前
如何使用免费工具在线将 Excel 转换为 XML 格式
人工智能·后端·excel
开开心心就好2 天前
内存清理工具定时自动清理开机自启动
java·开发语言·elasticsearch·ocr·excel·音视频·big data
开开心心就好2 天前
电脑内存优化工具一键释放内存超简单
java·开发语言·macos·arcgis·ocr·excel·音视频
随手工具-Excel, pdf, SQL2 天前
没有 SSMS 导入向导?Excel/CSV 一键生成 SQL Server INSERT 脚本
excel·sql server·在线工具·insert·测试数据·ssms·t-sql
SunnyDays10113 天前
Python 将 Excel(XLS/XLSX)转换为 JSON:导出工作簿、工作表、单元格区域与自定义 JSON 结构
python·json·excel·excel 转 json·导出 excel 到 json·xlsx 转 json·xls 转 json