flask에서 데이터 excel 내보내기

5045 단어
조회 데이터를 excel로 내보내는 방법은 매우 많다. 나는 그 중의 한 가지 방법을 사용했다. 그 중에서pandas의 라이브러리를 사용했다. 사실 이 라이브러리는 비교적 무겁다. 단순히 excel로 내보내면 추천하지 않는다.
output = BytesIO()
writer = pd.ExcelWriter(output, engine='xlsxwriter')
workbook = writer.book
worksheet = workbook.add_worksheet('sheet1')
worksheet.write('A1', u' ')
worksheet.write('B1', )
worksheet.write('C1', )
worksheet.write('D1', )
worksheet.write('E1', )
worksheet.write('F1', )
worksheet.write('G1', )
worksheet.write('H1', )
worksheet.write('I1', )
worksheet.write('J1', )
worksheet.write('K1', )
worksheet.write('L1', )
row = 1
col = 0
data = []

데이터베이스 조회 결과를 데이터에 넣기
for A,B,C,D,E,F,G,H,I,J,K,L in (data):
    K = str(K)
    L = str(L)
    worksheet.write(row, col, A)
    worksheet.write(row, col + 1, B)
    worksheet.write(row, col + 2, C)
    worksheet.write(row, col + 3, float(D)/1000)
    worksheet.write(row, col + 4, E)
    worksheet.write(row, col + 5, F)
    worksheet.write(row, col + 6, G)
    worksheet.write(row, col + 7, H)
    worksheet.write(row, col + 8, I)
    worksheet.write(row, col + 9, float(J)/1000)
    worksheet.write(row, col + 10, K)
    worksheet.write(row, col + 11, L)
    row +=1
worksheet.set_column('A:L', 20)
workbook.close()
output.seek(0)
return send_file(output, attachment_filename=".xlsx",
             as_attachment=True)

좋은 웹페이지 즐겨찾기