简体   繁体   中英

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 ,

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.

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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