内容处置

1 投票
4 回答
3908 浏览
提问于 2025-04-16 02:29

我正在使用 xlwt 模块来创建一个包含多个工作表的 xls 文件,我想在创建的文件中显示内容的处理方式。

 wbk = xlwt.Workbook(encoding='utf-8')
 sheet = workbook.add_sheet('sheet1')

然后

 response.headers['Content-Type'] = \
    gluon.contenttype.contenttype('.xls')
response.headers['Content-disposition'] = 'attachment; filename=projects.xls'\

我该如何将 wbk 的内容放到 projects.xls 里面呢?

提前谢谢你!

4 个回答

0

使用 response.body 这个属性来写入 Excel 文件:

wbk.save(response.body)
2

[免责声明]:我是xlwt的维护者。

Workbook.save(destination) ...

如果destination是一个有write方法的对象(比如通过[c]StringIO.StringIO()获得的):

xlwt会把内容写入这个对象,但不会关闭它。你可以根据自己的需要来使用这个对象,以及如何处理它。

否则:

xlwt会认为destination是一个字符串,这个字符串被当作文件路径来处理;xlwt会尝试打开一个文件,写入内容,然后关闭这个文件。

2

根据文档,看起来你可以把内容写入一个StringIO对象,然后再把它打印出来。

import StringIO
output = StringIO.StringIO()
wbk.save(output)

接着可以使用output.getvalue()来获取内容。

我还没有测试过这个方法。

撰写回答