简体   繁体   English

处理python3中xlswriter的Exception PermissionError

[英]handle Exception PermissionError of xlswriter in python3

I use XlsxWriter in my Python3.3 app and when excel file is opened and run py script this error happened and i can not handled with except except PermissionError , 我在Python3.3应用程序中使用XlsxWriter ,当打开excel文件并运行py脚本时,发生了此错误, except PermissionError之外,我无法使用来处理,

Error: 错误:

Exception PermissionError: PermissionError(13, 'Permission denied') in <bound method Workbook.__del__ of <xlsxwriter.workbook.Workbook object at 0x00000000032C3400>> ignored

How i can handled this error with try? 我如何尝试尝试处理此错误?

You just need to add try/except around the close() to handle conditions where the file is already open and locked by Excel. 您只需要在close()周围添加try / except即可处理文件已经被Excel打开和锁定的情况。

try:
    workbook.close()
except:
    # Handle your exception here.
    print("Couldn't create xlsx file")

If required you can add specific exception handlers for specific conditions. 如果需要,可以为特定条件添加特定的异常处理程序。

import xlsxwriter

try:
    # Create a workbook and add a worksheet.
    workbook = xlsxwriter.Workbook('Expenses01.xlsx')
    worksheet = workbook.add_worksheet()

    # Some data we want to write to the worksheet.
    expenses = (
        ['Rent', 1000],
        ['Gas',   100],
        ['Food',  300],
        ['Gym',    50],
    )

    # Start from the first cell. Rows and columns are zero indexed.
    row = 0
    col = 0

    # Iterate over the data and write it out row by row.
    for item, cost in (expenses):
        worksheet.write(row, col,     item)
        worksheet.write(row, col + 1, cost)
        row += 1

    # Write a total using a formula.
    worksheet.write(row, 0, 'Total')
    worksheet.write(row, 1, '=SUM(B1:B4)')

    workbook.close()
except:
    #
    #DO WHAT YOU WANT TO DO

Try this. 尝试这个。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM