Python xlwt 创建有故障的 Excel 工作簿

17

我正在尝试使用xlwt创建一个包含多个标签页的输出文件(.xlsx格式)。我的Python版本号是2.7,我正在使用Aptana Studio 3作为IDE。

我以前在相同的环境下使用过xlwt软件包来完成相同的任务。它正常工作。但是这一次,它开始时工作正常,然后突然之间,输出文件就变得有问题了,不能被MS Excel打开。

这里有一个可能有用的线索:我的Aptana Studio 3决定在其自己的编辑器中打开.xlsx而不是启动MS Excel。虽然这发生在问题之前,但我想知道它是否有关系。

当文件在Aptana3中打开时,看起来很正常,但是当我关闭它并用MS Excel打开它时,会弹出一个错误:"Excel无法打开文件“ output.xlsx”,因为文件格式或文件扩展名无效,请验证该文件未被破坏,并且文件扩展名与文件格式匹配。"

请问如何解决这个问题?欢迎任何建议。谢谢。


你是说 .xlsx 文件第一次打开时正常,但后来变得损坏了吗?如果是这样,那么 Python 和 xlwt 与此问题无关。 - senshin
@senshin 我不确定发生了什么。当我使用 MS Excel 和 Aptana 3 的编辑器打开 .xlsx 文件时,它可以正常工作。但是在我的应用程序运行几次后,该文件只能使用 Aptana 3 打开,并且看起来正常。但是,如果我使用 MS Excel 打开它,就会弹出一个错误窗口,显示“Excel 无法打开文件“output.xlsx”,因为文件格式或文件扩展名无效。请验证文件未被损坏并且文件扩展名与文件格式匹配。” - ChangeMyName
据我所知,xlwt 目前还不支持 .xlsx 文件,只支持 .xls 文件? - Steven
@Steven 我认为 xlwt 支持 .xlsx 格式。它具有兼容的接口,可以添加选项卡、设置单元格样式等。我之前也成功地使用 xlwt 创建了一个 .xlsx 文件。 - ChangeMyName
@ChangeMyName:你可以创建Excel文件,但只能保存为与MS Excel 97/2000/XP/2003兼容的.xls文件格式,而不是更近期的.xlsx格式。(尝试将你的问题文件重命名为.xls,看看是否真的是这个问题) - Steven
1个回答

26

xlwt模块无法创建.xlsx文件。它是用于.xls文件的编写器。

警告是由Excel新版本的一个功能引起的,称为“扩展硬化”,这意味着文件扩展名必须与文件类型匹配。

如果您在程序中将输出文件扩展名更改为.xls,警告应该消失,Excel将读取该文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接