word操作

doc文件转换为docx文件

安装win32com模块:pip3 install pypiwin32

import os
from win32com.client import Dispatch, DispatchEx, constants def doc_to_docx(f_path):
w = Dispatch('Word.Application')
# w = DispatchEx('Word.Application') # 启动独立进程
w.Visible = 0 # 后台运行
w.DisplayAlerts = 0 # 不警告 # 打开文件
doc = w.Documents.Open(f_path) # 新建docx类型文件
new_path = os.path.splitext(f_path)[0] + '.docx' '''
word_doc = w.Documents.Add() # 创建新的文档 # 插入文字
myRange = doc.Range(0,0)
myRange.InsertBefore('Hello python!') # 使用样式
wordSel = myRange.Select()
wordSel.Style = constants.wdStyleHeading1
'''
# 保存
doc.SaveAs(new_path, 16, False, "", True, "", False, False, False, False)  # 参数1、2必须传,如果文档有密码保护则需要传第四个参数,参数2可以是12,或者16,或其他适合的类型,其余参数都是默认值,不传也可以 # 关闭退出
doc.Close()
w.Quit() # 删除源文件
os.remove(f_path)
return new_path doc_to_docx(r"C:\Users\Desktop\新建 Microsoft Word 文档.doc")

安装模块python-docx:pip3 install python-docx

往Word文档中插入图片,并设置宽度

from docx import Document

def insert_img():
msg = '插入图片'
image1 = r"C:\Users\Pictures\Camera Roll\1.jpg"
image2 = r"C:\Users\Pictures\Saved Pictures\IMG_20180214_113145.jpg" # 保存在本地的图片 # 实例化对象
doc = Document()
doc.add_paragraph(msg) # 添加文字
doc.add_picture(image1, width=Inches(3)) # 添加图, 设置宽度
doc.add_picture(image2, width=Inches(5)) doc.save(r"C:\Users\rongg\Desktop\word_添加图片.docx") # 保存路径

Excel操作

注:只能操作已经存在的Excel表格,不存在会报错

from win32com.client import Dispatch

def excel_write(f_path, data, pwd=123):
excel_app = Dispatch('Excel.Application')
excel_app.Visible = 0 # 后台运行
excel_app.DisplayAlerts = 0 # 禁止弹窗 # 打开Excel文件, 有密码时前三个参数必须传
xl_handle = excel_app.Workbooks.Open(f_path, UpdateLinks=3, ReadOnly=False, Format=None, Password=pwd) # 指定sheet页
sheet1 = xl_handle.Worksheets('Sheet1')
for i in range(len(data)):
for j in range(len(data[0])):
sheet1.Cells(i + 1, j + 1).Value = data[i][j]
print('done!') # 选择单元格
range_obj = sheet1.Range('A2')
range_obj.EntireRow.Insert() # 在选择的单元格前插入行 # 设置边框
'''
5 双点虚线
6 加粗点虚线
7 单实线
8 点虚线
9 双实线
10 单点虚线
'''
range_obj.Borders.LineStyle = 7 # 为单元格赋值
sheet1.Cells(8, 1).Value = 'Hello'
sheet1.Cells(8, 2).Value = 'Excel' # 关闭退出
xl_handle.Close(True) # True 必须传入,否则不会保存
excel_app.Quit() excel_write(
r"C:\Users\Desktop\新建 Microsoft Excel 工作表.xlsx",
[['name', 'age', 'gender'], ['jack', 22, 'man'], ['bob', 18, 'man'], ['alice', 19, 'woman']]
)

执行后的结果如下: 

后续更新。。。。

最新文章

  1. httpRuntime与ASP.NET 运行时及IIS处理模型
  2. 临时存存储页面上的数据---Web存储
  3. codevs2693 上学路线(施工)
  4. ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework
  5. C# 跨线程访问或者设置UI线程控件的方法
  6. Logstash+kibana+ ElasticSearch+redis
  7. (原)ubuntu16中编译boost1.61.0库
  8. ssh远程登录linux服务器
  9. 微信小程序点击返回顶层实现方法
  10. 两个inline-block中间有空白,解决inline-block 元素之间的空白问题
  11. mysql 允许特定IP访问
  12. [Android] 判断手机上是否安装了某个程序
  13. es6正则表达式
  14. PAT甲题题解-1109. Group Photo (25)-(模拟拍照排队)
  15. Centos安装gcc及g++
  16. 怎样解决WampServer #1405 - Access denied for user 'root'@'localhost' (using password: NO)
  17. requests库的get请求,带有cookies
  18. HDU 5059 Help him(简单模拟题)
  19. Python 函数的 return 是否是必须的?
  20. 参数传递中编码问题(Get/Post 方式)(三)

热门文章

  1. CTF学习笔记(三)php部分
  2. Python的入门学习Day 25~27——form”夜曲编程“
  3. shell语法3-expr命令、read命令、echo命令
  4. Ubuntu安装微信/企业微信
  5. Linux 第七节(LVM,网卡配置)
  6. .什么是 SPA 单页面,它的优缺点分别是什么
  7. You are using pip version 8.1.2, however version 23.0 is available.You should consider upgrading via the 'pip install --upgrade pip' command.
  8. js获取对象数组中指定属性值的新数据
  9. 在idea中查看jar包源码
  10. 【数据库数据恢复】Oracle数据库数据恢复案例