久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Flask后端實(shí)踐 連載十三 Flask輸出Excel報(bào)表

 看見就非常 2020-04-29

tips:

  • 簡(jiǎn)單實(shí)現(xiàn)Flask輸出Excel報(bào)表

  • 本文基于python3編寫

  • 代碼倉庫

項(xiàng)目場(chǎng)景

由于項(xiàng)目是工程上的使用,,不僅需要對(duì)采集的數(shù)據(jù)進(jìn)行分析,也需要輸出報(bào)表,,使用程序輸出報(bào)表極大的簡(jiǎn)化了報(bào)表制作流程,。

Python處理Excel的包

  1. openpyxl

    用于讀取和寫入Excel 2010文件的推薦包(即:.xlsx)。文檔地址

  2. xlsxwriter

    用于編寫數(shù)據(jù),,格式化信息,,特別是Excel 2010格式的圖表的替代軟件包(即:.xlsx)。文檔地址

  3. xlrd

    此包用于從舊的Excel文件中讀取數(shù)據(jù)和格式信息(即:.xls),。文檔地址

  4. xlwt

    此包用于將數(shù)據(jù)和格式信息寫入舊的Excel文件(即:.xls),。文檔地址

  5. xlutils

    該軟件包收集需要xlrd和xlwt的實(shí)用程序,包括復(fù)制,,修改或過濾現(xiàn)有excel文件的功能,。一般來說,,openpyxl現(xiàn)在涵蓋了這些用例!文檔地址

xlsxwriter簡(jiǎn)單使用

項(xiàng)目上所需的報(bào)表,,圖表比較多,,且比較復(fù)雜。所有就采用了繪圖方面更加完善的xlsxwriter

  1. 安裝pip install xlsxwriter

  2. 簡(jiǎn)單使用,,更多詳細(xì)內(nèi)容請(qǐng)看官方文檔,。

    import xlsxwriter
    
    # 新建excel文本
    workbook = xlsxwriter.Workbook("test.xlsx")
    # 添加一個(gè)sheet
    worksheet = workbook.add_worksheet("test1")
    # 設(shè)置列寬
    worksheet.set_column('A:A', 20)
    
    # 添加字體加粗樣式
    bold = workbook.add_format({'bold': True})
    
    # 寫入數(shù)據(jù)
    worksheet.write('A1', 'Hello')
    
    # 寫入數(shù)據(jù)并使用樣子
    worksheet.write('A2', 'World', bold)
    
    # 使用數(shù)字標(biāo)識(shí)單元格位置(行,列)
    worksheet.write(2, 0, 123)
    worksheet.write(3, 0, 123.456)
    
    # 按行依次寫入數(shù)據(jù)
    worksheet.write_column(4, 0, [1, 2, 3, 4])
    
    # 按列依次寫入數(shù)據(jù)
    worksheet.write_row(1, 1, [1, 2, 3, 4])
    
    # 添加圖表
    chart = workbook.add_chart({'type': 'column'})
    
    # 圖表數(shù)據(jù)來源
    chart.add_series({'values': ["test1",  # worksheet的名字,。即sheet_name
                                4, 0, 7, 0  # 數(shù)據(jù)位置
                                ]})
    # 插入的表格位置
    worksheet.insert_chart('B3', chart)
    
    # 關(guān)閉excel文本并輸出到指定位置,。如果不調(diào)用改方法,無法輸出excel
    workbook.close()

Flask結(jié)合xlsxwriter使用

  • 測(cè)試代碼

    import xlsxwriter
    from flask import Flask
    
    
    def write():
        path = "test.xlsx"
        # 新建excel文本
        workbook = xlsxwriter.Workbook(path)
        # 添加一個(gè)sheet
        worksheet = workbook.add_worksheet("test1")
        # 設(shè)置列寬
        worksheet.set_column('A:A', 20)
    
        # 添加字體加粗樣式
        bold = workbook.add_format({'bold': True})
    
        # 寫入數(shù)據(jù)
        worksheet.write('A1', 'Hello')
    
        # 寫入數(shù)據(jù)并使用樣子
        worksheet.write('A2', 'World', bold)
    
        # 使用數(shù)字標(biāo)識(shí)單元格位置(行,,列)
        worksheet.write(2, 0, 123)
        worksheet.write(3, 0, 123.456)
    
        # 按行依次寫入數(shù)據(jù)
        worksheet.write_column(4, 0, [1, 2, 3, 4])
    
        # 按列依次寫入數(shù)據(jù)
        worksheet.write_row(1, 1, [1, 2, 3, 4])
    
        # 添加圖表
        chart = workbook.add_chart({'type': 'column'})
    
        # 圖表數(shù)據(jù)來源
        chart.add_series({'values': ["test1",  # worksheet的名字,。即sheet_name
                                    4, 0, 7, 0  # 數(shù)據(jù)位置
                                    ]})
        # 插入的表格位置
        worksheet.insert_chart('B3', chart)
    
        # 關(guān)閉excel文本并輸出到指定位置。如果不調(diào)用改方法,,無法輸出excel
        workbook.close()
        return path
    
    
    app = Flask(__name__)
    
    
    @app.route('/testExcel', methods=["GET"])
    def test_excel():
        """
        測(cè)試輸出excel
        :return:
        """
        path = write()
        return path
    
    
    if __name__ == '__main__':
        app.run()
  • 啟動(dòng)app,,訪問http://127.0.0.1:5000/testExcel 返回生成路徑test.xlsx。然后配合nginx轉(zhuǎn)發(fā)即可下載文件

總結(jié)

  • 本篇文章簡(jiǎn)單介紹了xlsxwriter的使用,,具體的使用場(chǎng)景應(yīng)該與項(xiàng)目需求相結(jié)合,。

  • 下一篇將介紹Flask輸出Word報(bào)表

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多