0.0.1 init, main page prepare
This commit is contained in:
43
BaseModels/api/api_export_xls.py
Normal file
43
BaseModels/api/api_export_xls.py
Normal file
@@ -0,0 +1,43 @@
|
||||
from openpyxl import Workbook
|
||||
from django.http import HttpResponse
|
||||
from openpyxl.writer.excel import save_virtual_workbook
|
||||
|
||||
def xls_export(data, filename):
|
||||
print('xls_export')
|
||||
|
||||
# wb = Workbook()
|
||||
# ws = wb.active
|
||||
#
|
||||
# r = 1
|
||||
# for row in data:
|
||||
# c = 1
|
||||
# for val in row.values():
|
||||
# try:
|
||||
# ws.cell(row=r, column=c).value = val
|
||||
# except:
|
||||
# ws.cell(row=r, column=c).value = str(val)
|
||||
# c += 1
|
||||
#
|
||||
# r += 1
|
||||
#
|
||||
# dims = {}
|
||||
# for row in ws.rows:
|
||||
# for cell in row:
|
||||
# if cell.value:
|
||||
# dims[cell.column] = max((dims.get(cell.column, 0), len(str(cell.value))))
|
||||
# for col, value in dims.items():
|
||||
# ws.column_dimensions[col].width = value
|
||||
|
||||
# filepath = "/demo.xlsx"
|
||||
# wb.save(filepath)
|
||||
|
||||
# output = BytesIO()
|
||||
# wb.save(output)
|
||||
|
||||
from ..office_documents_utils import get_xls_file_by_data_list
|
||||
xls_file = get_xls_file_by_data_list(data)
|
||||
|
||||
response = HttpResponse(xls_file, content_type='application/ms-excel')
|
||||
response['Content-Disposition'] = 'attachment; filename="{0}"'.format(filename)
|
||||
|
||||
return response
|
||||
Reference in New Issue
Block a user