目的:把自己用python写好的代码(代码里卖弄通过引用xlwings与excel交互)使用pyinstaller 打包成exe文件后,在别的电脑使用。
问题:在别的电脑打开直接闪退,什么提示都没有。于是我改用cmd来打开这个exe文件,终于弹出报错代码,但是我不知道问题出在哪里。
.
.
以下代码是py文件里主要与excel交互时的代码段:
import xlwings as xw
book=xw.Book.caller()#获取活动工作簿
sheet2 = book.sheets.active#获取活动工作表
sheet2.range('A1').value='Hi'#将'Hi'写入活动工作表A1单元格
.
.
这个代码是能正常工作的,但是使用使用pyinstaller打包成exe文件后,去另一个电脑上使用打开直接闪退,如果用控制台打开会获得报错信息如下:
.
.
F:\first\open\dist\testone>testone.exe
Traceback (most recent call last):
File "testone.py", line 353, in <module>
book=xw.Book.caller()
File "xlwings\main.py", line 1020, in caller
Exception: Book.caller() must not be called directly. Call through Excel or set a mock caller first with Book.set_mock_caller().
[11240] Failed to execute script 'testone' due to unhandled exception!
我如果想在别的电脑上使用excel调用我的py代码,而不想安装过多的软件,这个打包可执行文件应该如何操作呢?