因自己的电脑没有装office,在用Python调用xlwings来操作Word文档时总会出现一些奇奇怪怪的错误,查资料发现网上千篇一律都是一样的内容,而且无法解决实质性的问题,于是只能自己琢磨,终于弄出来一个还可以用用的demo
pip install xlwings
pip install win32com
当然如果觉的安装太慢可以使用国内的源,在安装命令后加个 -i 然后接国内源地址就行了
pip install xlwings -i https://pypi.douban.com/simple/
1.阿里云:https://mirrors.aliyun.com/pypi/simple/
2.豆瓣:https://pypi.douban.com/simple/
3.清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/(推荐)
4.中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
5.华中理工大学:http://pypi.hustunique.com/
6.山东理工大学:http://pypi.sdutlinux.org/
报错信息:pywintypes.com_error: (-2147221005, '无效的类字符串', None, None)xlwings报错
解决方法如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# 首先当然是先引入对应的包
import os
import xlwings as xw
from win32com.client import Dispatch
def create_excel():
create_path = “./WPS/Excel” # 所要创建表格的目录地址
# 为了避免直接修改库自带的源码,就研究了下源码,发现只要引入impl就可以了
# noinspection PyProtectedMember
xl = xw._xlwindows.COMRetryObjectWrapper(Dispatch("Ket.Application"))
# noinspection PyProtectedMember
impl = xw._xlwindows.App(visible=False, add_book=False, xl=xl)
# 新建一个excel(visible为是否需要可视化,True为可视化,False为后台运行)
app = xw.App(visible=True, add_book=False, impl=impl)
BaseWorkBook = app.books.add()
# 判断路径是否存在
isExists = os.path.exists(create_path)
isPath = os.path.isdir(create_path)
if isExists and isPath:
BaseWorkBook.save(create_path + "/Workbook.xlsx")
else:
os.mkdir(create_path)
BaseWorkBook.save(create_path + "/Workbook.xlsx")
return BaseWorkBook
联系客服