跳转到主要内容

使用Django轻松创建XLSX文档

项目描述

这是一个对openpyxl的包装,使得创建XLSX文档以便导出数据变得不那么无聊

from xlsxdocument import XLSXDocument

def xlsx_export(request):
    some_data = Bla.objects.all()

    xlsx = XLSXDocument()
    xlsx.table_from_queryset(Bla.objects.all())
    return xlsx.to_response('bla.xlsx')

也可以在末尾添加额外的单元格

xlsx = XLSXDocument()
xlsx.table_from_queryset(
    Bla.objects.all(),
    additional=[(
        'Full URL',
        lambda instance: 'http://example.com%s' % (
            instance.get_absolute_url(),
        ),
    )],
)

您还可以轻松添加将行导出到Django管理界面的功能

from django.contrib import admin
from django.utils.translation import gettext_lazy as _

from xlsxdocument import export_selected

from app import models


class AttendanceAdmin(admin.ModelAdmin):
    list_filter = ('event',)
    actions = (export_selected,)


admin.site.register(models.Event)
admin.site.register(models.Attendance, AttendanceAdmin)

如果您需要使用export_selected的额外列,请使用此代码片段代替

from xlsxdocument import create_export_selected

class AttendanceAdmin(...):
    actions = [
        create_export_selected(
            additional=[
                # ... see above
            ]
        )
    ]

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源分布

xlsxdocument-1.3.10.tar.gz (3.7 kB 查看哈希值)

上传时间

构建分布

xlsxdocument-1.3.10-py2.py3-none-any.whl (4.2 kB 查看散列值)

上传时间 Python 2 Python 3

由以下机构支持