Tarken Django Excel响应的函数扩展
django-excel-response2的Python项目详细描述
django excel响应
将转换QuerySet的HttpResponse的子类, 或序列,输入Excel电子表格或 为Excel格式化的CSV文件,具体取决于数据量。 所有这些都是在内存中动态完成的,没有磁盘写入, 感谢Stringio图书馆。
django-excel-response2
使用Tarken的django excel响应时。 当我们在mac操作系统中打开.xls时,我们发现中文是乱码。 如http://segmentfault.com/q/1010000000095546所述。 基于Tarken的django-excel响应实现django-excel-response2 通过添加名为FONT的参数来设置字体来解决此问题。
同时:
- 修复错误
- 无法减去偏移原始和偏移感知日期时间
继承
# Since Version 2.0.2 if 'FileResponse' in names: ExcelResponse = type('ExcelResponse', (http.FileResponse, ), dict(__init__=__init__)) elif 'StreamingHttpResponse' in names: ExcelResponse = type('StreamingHttpResponse', (http.StreamingHttpResponse, ), dict(__init__=__init__)) else: ExcelResponse = type('HttpResponse', (http.HttpResponse, ), dict(__init__=__init__))
安装
pip install django-excel-response2
用法
from excel_response2 import ExcelResponse def excelview(request): objs = SomeModel.objects.all() return ExcelResponse(objs)
或:
from excel_response2 import ExcelResponse def excelview(request): data = [ ['Column 1', 'Column 2'], [1, 2], [3, 4] ] return ExcelResponse(data, 'my_data', font='name SimSum')
参数
- 设置字体为simsum(宋20307;)
- 强制csv=真
- CSV格式?是为真,否为假,默认为假
csv
Win Excel 2013 | Mac Excel 2011 | Mac Excel 2016 | Mac Numbers | |
---|---|---|---|---|
UTF8 | Messy | Messy | Normal | |
GB18030 | Normal | Normal | Messy | |
UTF8 + BOM_UTF8 | Normal | Messy | Normal |