pywintypes.com_error: (-2147352567, ‘发生意外。‘, (0, None, None, None, 0, -2147467259), None)
# 连接 Excel 应用程序
app = xw.App(visible=False)
# 打开工作簿
workbook = app.books.open(file_path)
# 选择要操作的工作表
worksheet = workbook.sheets['Sheet1']
# 遍历工作表的每个合并单元格
merged_cell_range = worksheet.api.UsedRange.MergeCells
# 获取合并单元格的起始单元格
start_cell = worksheet.range(merged_cell_range).start_cell
# 获得打印的时间
date_time = datetime.datetime.now().strftime('%Y年%m月%d日')
# 修改合并单元格的值
start_cell.value = '汇总日期:{}'.format(self.year_tag)
worksheet['B3'].value = '制表日期:{}'.format(date_time)
worksheet['B4'].value = self.total_count
worksheet['B5'].value = self.total_amount
# 保存修改后的 Excel 文件
file_path_1 = os.path.abspath('.\余额清零汇总表.xlsx')
workbook.save(file_path_1)
# 关闭工作簿
workbook.close()
# 关闭 Excel 应用程序
app.kill()
time.sleep(5)
# 将 Excel 文件转换为 PDF
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(file_path_1)
wb.ExportAsFixedFormat(0, os.path.abspath('.\余额清零汇总表.pdf'))
wb.Close()
time.sleep(5)
# 打开保存的 PDF 文件进行打印预览
pdf_file_path = os.path.abspath('.\余额清零汇总表.pdf')
os.startfile(pdf_file_path)
可以借鉴下
import os
import xlwings as xw
wb = xw.Book()
sht = wb.sheets['Sheet1']
sht.pictures.add(os.path.abspath('C:/Users/Administrator/Desktop/1.jpg')) # 相当于改为C:\\Users\\Administrator\\Desktop\\1.jpg
wb.save('test.xlsx')
wb.close()
这题需要的话,我远程帮你看
这个错误信息表示在 PyWin32 中调用 ws2_32.dll 模块中的 CreateFileW 函数时发生了错误。具体来说,错误信息中的第一行指出了错误的位置和原因,即在 CreateFileW 函数的第四个参数(错误中为 (0, None , None , None ,0,-2147466859)
)上出现了问题。第二行到第六行给出了详细的错误信息,这些行包含了一些详细的错误码和错误信息。最后一行是错误信息的总结,表示出现了一个无法解析的参数。
要解决这个错误,需要找出导致错误的代码,并进行相应的修改。可能的解决方案包括更新 ws2_32.dll 模块或修改代码以正确处理参数
引用文心一言
以下答案由GPT-4.5Plus大模型(语音)与博主A努力中.......共同编写:
根据错误信息,这似乎是xlwings在调用COM组件时遇到的一个错误。pywintypes是xlwings依赖的一个包,用于连接Python和COM组件。
报这个错误的常见原因有:
所以,我的解决建议如下:
regsvr32 excel.exe /u
取消注册Excel COM组件,然后运行regsvr32 excel.exe
再次注册。python -m xlwings.license
授权xlwings使用Excel COM组件。希望以上方法能帮助您解决调用xlwings时遇到的pywintypes错误