python – django xlsxwriter中的DateTime问题

我试图在我的 django视图中创建导出到excel功能,如下所示:

def export_myreport(request,sd,ed):
    from xlsxwriter.workbook import Workbook
    import cStringIO as StringIO
    from django.utils.encoding import smart_str

    # create a workbook in memory
    output = StringIO.StringIO()

    wb = Workbook(output)

    bg = wb.add_format({'bg_color': '#9CB640','font_color': 'black'})
    bg2 = wb.add_format({'bg_color': '#FFFFFF','font_color': 'black'})

    ws = wb.add_worksheet('My Report')

    row_num = 0

    summary = MyModel.objects.filter(time__range = (sd,ed)).select_related()

    row_num += 2
    row = [
        smart_str(u"Time"),smart_str(u"Item"),smart_str(u"User")
    ]
    for col_num in xrange(len(row)):
        ws.write(row_num,col_num,row[col_num],bg)

    for s in summary:
        row_num += 1
        row2 = [
            s.time,s.model_name,s.user.first_name
        ]
        for col_num in xrange(len(row2)):
            ws.write(row_num,row2[col_num],bg2)

    wb.close()

    output.seek(0)
    response = HttpResponse(output.read(),content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
    response['Content-disposition'] = "attachment; filename=myreport.xlsx"

    return response

但我在使用DateTime格式时遇到了一些问题!也许我在这里缺少什么?

这是我得到的错误

TypeError at /myapp/export_myreport/2015-05-01/2015-05-19
can't subtract offset-naive and offset-aware datetimes

编辑:

这就是我在我的html中调用url的方式:

<a href="export_myreport/{{begindate}}/{{enddate}}" class="btn btn-default pull-right" role="button">Export to XLSX</a>

这里{{begindate}}和{{enddate}}是角度变量.

解决方法

Excel和XlsxWriter不支持日期/时间的时区.

因此,在将日期时间传递给XlsxWriter之前,您需要从日期时间中删除或调整时区.

来自pytz文档的类似内容

dt = datetime(2005,3,1,14,13,21,tzinfo=utc)
naive = dt.replace(tzinfo=None)

可能在Django中处理得更好,而不是在将所有日期时间数据传递给XlsxWriter之前调整它们.也许其他人可以添加一个建议.

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...