| name | python-docx-report-generation-from-database |
| description | Sub-skill of python-docx: Report Generation from Database (+1). |
| version | 1.0.0 |
| category | data |
| type | reference |
| scripts_exempt | true |
Report Generation from Database (+1)
Report Generation from Database
"""
Generate reports from database query results.
"""
from docx import Document
from docx.shared import Inches, Pt
from docx.enum.text import WD_ALIGN_PARAGRAPH
from datetime import datetime
from typing import List, ,
sqlite3
() -> :
conn = sqlite3.connect(db_path)
conn.row_factory = sqlite3.Row
cursor = conn.cursor()
cursor.execute(query)
rows = cursor.fetchall()
columns = [description[] description cursor.description]
conn.close()
doc = Document()
title_para = doc.add_heading(title, level=)
title_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
meta_para = doc.add_paragraph()
meta_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
meta_para.add_run()
meta_para.add_run()
doc.add_paragraph()
rows:
table = doc.add_table(rows=(rows) + , cols=(columns))
table.style =
i, col (columns):
cell = table.rows[].cells[i]
cell.text = col.replace(, ).title()
cell.paragraphs[].runs[].bold =
row_idx, row (rows, start=):
col_idx, col (columns):
table.rows[row_idx].cells[col_idx].text = (row[col])
:
doc.add_paragraph()
doc.save(output_path)
()