Загрузка данных


@app.route("/employee/<tabnum>/export_worker")
def export_worker(tabnum):
    try:
        conn = get_db_connection()
        cur = conn.cursor()
        cur.execute("SELECT fam, imja, otch FROM rabotnik WHERE Tabnum = %s", (tabnum,))
        worker = cur.fetchone()
        cur.close()
        conn.close()

        if not worker:
            return "Работник не найден"

        if not os.path.exists(TEMPLATE_PATH):
            return f"Файл шаблона {TEMPLATE_PATH} не найден."

        rb = xlrd.open_workbook(TEMPLATE_PATH, formatting_info=True)
        wb = xl_copy(rb)
        ws = wb.get_sheet(0)

        # Строки для ФИО (индексы 14, 15, 16 → Excel строки 15, 16, 17)
        rows = [14, 15, 16]
        col_d = 3  # колонка D (индекс 3)

        fam, imja, otch = worker

        # Записываем ФИО целиком в ячейки D15, D16, D17
        ws.write(rows[0], col_d, fam)   # фамилия в D15
        ws.write(rows[1], col_d, imja)  # имя в D16
        ws.write(rows[2], col_d, otch)  # отчество в D17

        # Сохраняем во временный файл и отдаём
        fd, tmp_path = tempfile.mkstemp(suffix=".xls")
        os.close(fd)
        wb.save(tmp_path)
        return send_file(tmp_path, as_attachment=True,
                         download_name=f"BLANKS6_{tabnum}.xls",
                         mimetype="application/vnd.ms-excel")

    except Exception as e:
        return f"<h2>Ошибка экспорта</h2><pre>{traceback.format_exc()}</pre>"