13 workbook.close()
优质
小牛编辑
121浏览
2023-12-01
close
() 关闭workbook工作簿并将内容写入到XLSX文件中。
- 抛出:
- FileCreateError – 如果在写入过程中出现文件或权限的错误,则抛出;
- DuplicateTableName – 如果添加了重复sheet工作表名称,则抛出;
- EmptyChartSeries – 如果添加的图表没有数据序列,则抛出;
- UndefinedImageSize – 如果一个图像没有包含宽高数据,则抛出;
- UnsupportedImageFormat – 如果图像的类型不支持,则抛出;
- FileSizeError – 如果文件的压缩容量过大,需要使用zip64,则抛出;
这个workbook工作簿的close()
方法将把所有数据写入到XLSX文件中并关闭它。
workbook.close()
这是关闭和写入XlsxWriter文件必须调用的方法,除非你使用的是with
管理器。
Workbook
对象支持在with
上下文管理器中工作。在这种情况下,它不需要显式地调用close()
方法:
with xlsxwriter.Workbook('hello_world.xlsx') as workbook:
worksheet = workbook.add_worksheet()
worksheet.write('A1', 'Hello world')
在退出with
语句块时,workbook工作簿将会自动关闭。
调用close()
方法最常见的异常就是FileCreateError
,它通常是因为权限不足导致的。在Windows中,如果要创建的文件已经打开,也会发生这种异常。我们可以在try
块中捕获这个异常,并提示用户关闭它:
while True:
try:
workbook.close()
except xlsxwriter.exceptions.FileCreateError as e:
# For Python 3 use input() instead of raw_input().
decision = raw_input("Exception caught in workbook.close(): %s\n"
"Please close the file if it is open in Excel.\n"
"Try to write file again? [Y/n]: " % e)
if decision != 'n':
continue
break