Saya menggunakan Python 3.8.3 dan XLWings 0.19.5. Saya mencoba menulis try...catch saat menjalankan persamaan excel langsung di buku kerja, tetapi persamaan dengan kesalahan tertentu menyebabkan aplikasi macet. Saya pikir ini karena kotak pesan yang muncul.

import xlwings as xw

appExcel = xw.apps.add()
appExcel.display_alerts = False
appExcel.screen_updating = False

wbEquation = xw.Book()
wbEquation.sheets.add(name='Calculate')
wsEquation = wbEquation.sheets['Calculate']

badFormula = "=A1+(A2+A3"

 try:
    wsEquation.range('B1').formula = badFormula
 except Exception:
    appExcel.quit()
    raise Exception("There was an error when running the equation.")

Dengan display_alerts=False saya tidak yakin mengapa itu tergantung pada baris wsEquation.range('B1').formula = badFormula, saya yakin karena kesalahan There is a problem with a formula. Pada versi XLWings 0.10.0 yang lebih lama saya menjalankannya tidak macet dan bergerak melewati pesan kesalahan ketika saya mencoba dan menjalankan persamaan ini.

*Edit: Jadi saya menguji untuk melihat versi mana yang benar-benar merusaknya dan saya mampu membuatnya tetap bekerja melalui 0.11.5. Memutakhirkan ke 0.11.6 merusaknya. Saya tidak melihat apa pun di rilis catatan antara dua versi yang menunjukkan mengapa hal itu terjadi.

0
EliSquared 2 September 2020, 19:05

1 menjawab

Jawaban Terbaik

Jadi untuk saat ini saya sedang memperbaiki dengan memutar kembali ke 0.11.5:

pip install "XLWings==0.11.5"

Saya telah memasukkan laporan bug: tautan dan ditandai sebagai bug jadi saya pikir mereka akan mengerjakannya.

0
EliSquared 8 September 2020, 20:12