扩展Tarken的django-excel-response的功能
项目描述
django-excel-response2
扩展Tarken的django-excel-response的功能
django-excel-response
HttpResponse的子类,它将查询集或序列的序列转换为Excel电子表格或CSV文件,具体取决于数据量。所有这些操作都是在内存中实时进行的,没有磁盘写入,归功于StringIO库。
- DjangoSnippets - http://djangosnippets.org/snippets/1151/
- PyPI - https://pypi.python.org/pypi/django-excel-response/1.0
django-excel-response2
当使用Tarken的django-excel-response时,我们发现当在Mac OS中打开.xls文件时,中文会乱码。如http://segmentfault.com/q/1010000000095546中讨论的那样。我们意识到django-excel-response2基于Tarken的django-excel-response来解决这个问题,通过添加一个名为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 django_excel_response import ExcelResponse
def excelview(request):
objs = SomeModel.objects.all()
return ExcelResponse(objs)
或
from django_excel_response import ExcelResponse
def excelview(request):
data = [
{
'Column 1': 1,
'Column 2': 2,
},
{
'Column 1': 3,
'Column 2': 4,
}
]
return ExcelResponse(data, 'my_data', font='name SimSum')
或
from django_excel_response import ExcelResponse
def excelview(request):
data = [
['Column 1', 'Column 2'],
[1, 2],
[3, 4]
]
return ExcelResponse(data, 'my_data', font='name SimSum')
或
from django_excel_response import ExcelResponse
def excelview(request):
data = [
['Column 1', 'Column 2'],
[1, [2, 3]],
[3, 4]
]
return ExcelResponse(data, 'my_data', font='name SimSum', merge_type='row_merge')
参数
- font='name SimSum'
- 将字体设置为SimSum(宋体)
- force_csv=True
- CSV格式?True表示是,False表示否,默认为False
CSV
datas = [
[u'中文', ]
]
Win Excel 2013 | Mac Excel 2011 | Mac Excel 2016 | Mac Numbers | |
---|---|---|---|---|
UTF8 | 乱码 | 乱码 | 乱码 | 正常 |
GB18030 | 正常 | 正常 | 正常 | 乱码 |
UTF8 + BOM_UTF8 | 正常 | 乱码 | 正常 | 正常 |
UTF16LE + BOM |
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
django-excel-response2-3.0.6.tar.gz (5.0 kB 查看哈希值)
构建分发
关闭
哈希值 for django-excel-response2-3.0.6-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fe0c54207caf7efefcad689427bffad9209808e6102becb07967d5f8c92b82c7 |
|
MD5 | 344f7cba28998935f92add5a91a464bf |
|
BLAKE2b-256 | fd6644986943e506a3d43de4a8515e7c33bf9dbc43a04707097e8fd17aa9792f |