通过文本和文件stream保存openpyxl文件
我将OpenPyXL构build到需要包含excel文件内容的string的应用程序中,以便通过文件stream进行写入。
从我对OpenPyXL源代码的调查来看,它看起来并不像它支持这种输出。 有没有人有修改openpyxl支持这个经验?
或者任何一般的build议/解决方法?
谢谢。
jcollado的答案实际上是有效的,但在openpyxl.writer.excel中也有一个函数(遗憾的是还没有文档logging)叫做“save_virtual_workbook”,它将把你的工作簿作为string返回给工作簿:
from openpyxl.workbook import Workbook from openpyxl.writer.excel import save_virtual_workbook wb = Workbook() print save_virtual_workbook(wb)
你正在寻找的是由save_virtual_workbook()返回的string
怎么样使用一个StringIO
对象来保存文件的内容:
from openpyxl.workbook import Workbook from StringIO import StringIO output = StringIO() wb = Workbook() wb.save(output) print output.getvalue()
您正在查找的string是在此示例的最后一行中打印的内容。