flask excel 다운로드 파일 생성

1427 단어
최근flask를 사용하는 프로젝트 개발에서는 데이터베이스에서 데이터를 읽고 excel 형식 파일을 생성한 다음 사용자가 다운로드할 수 있도록 해야 한다.사용자가 파일을 다운로드하려면 httpresponse에 Content-Disposition=attachment를 설정하고 filename를 설정하면 됩니다.다운로드 파일은 두 가지 상황으로 나뉩니다.
  • 서버 파일을 읽습니다.
  • 백그라운드 프로그램이 파일 내용을 직접 생성합니다.

  • 하나.서버 파일 읽기

    response = make_response(send_file("myfiles.xls"))
    response.headers["Content-Disposition"] = "attachment; filename=myfiles.xls;"
    return response
    

    2.백그라운드 프로그램에서 직접 파일 생성


    여기에서 xls 파일을 생성하는 것을 예로 들면 제3자 라이브러리tablib를 설치해야 합니다.
    pip install tablib
    

    다음은 xls 파일 생성의 예입니다.
    import tablib  
    headers = (u" ", u" ", u" ")
    info = [
        (u" ", u" ", u"20"),
        (u" ", u" ", u"18"),
    ]
    data = tablib.Dataset(*info, headers=headers)
      
    # 。  
    data.xlsx  
    data.xls  
    data.ods  
    data.json  
    data.yaml  
    data.csv  
    data.tsv  
    data.html  
      
    #   
    data.append([u' ', u' ',18])  
    #   
    data.append_col([22, 20,13], header=u' ')  
    print data.csv  
      
    #   
    del data[1:3]  
    #   
    del data[u' ']  
    print data.csv 
    # excel 
    open('xxx.xls', 'wb').write(data.xls)
    # sheet excel 
    book = tablib.Databook((data1, data2, data3))
    book.xls
    

    주의하다
    xls 형식을 사용하면 최대 줄 수는 65536입니다. 이 제한을 취소하려면 파일을 book.xlsx 로 내보내면 됩니다.

    좋은 웹페이지 즐겨찾기