Sqlite3中的XlsxWriter列标题

2024-06-18 13:13:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我用数据库中的数据在excel中填写了电子表格,但列标题没有出现。我尝试了一些选项,但无法将其添加到电子表格中。有人知道如何从数据库表中获取数据来实现这一点吗?我只是使用pandas和手动输入的数据找到它

def gerarRelatorio(self):
    try:
        banco.conecta()
        cursor = banco.conexao.cursor()
        query = """SELECT E.CODBARRA, E.PRODUTO, 
                   C.CATEGORIA, printf("%.2f",E.ESTOQUE) AS "ESTOQUE", 
                   printf("%.2f",E.ESTOQUE_MIN) AS "ESTOQUE MINIMO", printf("%.2f",E.VALOR_CUSTO) AS "VALOR CUSTO", 
                   printf("%.2f",E.VALOR_VENDA) AS "VALOR VENDA", printf("%.2f",E.ESTOQUE*E.VALOR_CUSTO) AS "TOTAL MERCADORIA",
                   printf("%.2f",E.VALOR_VENDA-E.VALOR_CUSTO) AS "LUCRO UNID.", printf("%.2f",(E.VALOR_VENDA-E.VALOR_CUSTO)*E.ESTOQUE) AS "LUCRO TOTAL",
                   F.FORNECEDOR 
                   FROM ESTOQUE E 
                   INNER JOIN FORNECEDOR F
                   ON E.ID_FORNECEDOR = F.IDFORNECEDOR
                   INNER JOIN CATEGORIA C
                   ON E.ID_CATEGORIA = C.IDCATEGORIA
                   ORDER BY E.PRODUTO"""

        workbook = Workbook('Estoque.xlsx')
        worksheet = workbook.add_worksheet()
        bold = workbook.add_format ({'bold': True})
        worksheet.write ( 'A1', 'CODBARRA', bold )
        worksheet.write ( 'B1', 'PRODUTO', bold )
        worksheet.write ( 'C1', 'CATEGORIA', bold )
        worksheet.write ( 'D1', 'ESTOQUE', bold )
        worksheet.write ( 'E1', 'ESTOQUE MIN', bold )
        worksheet.write ( 'F1', 'VALOR CUSTO', bold )
        worksheet.write ( 'G1', 'VALOR VENDA', bold )
        worksheet.write ( 'H1', 'VALOR CUSTO TOTAL', bold )
        worksheet.write ( 'I1', 'LUCRO UNITÁRIO', bold )
        worksheet.write ( 'J1', 'LUCRO TOTAL', bold )
        worksheet.write ( 'K1', 'FORNECEDOR', bold )


        result = cursor.execute(query)
        for row, rows in enumerate(result):
            for c, value in enumerate(rows):
                worksheet.write(row, c, value)
                row = 1


        workbook.close()

但结果是:

ExcelFile


Tags: ascursorvalorwritetotalworkbookboldworksheet