@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>"