# xlutils_demo.py
import xlrd
from xlutils.copy import copy
def copy_excel(target_file):
"""
利用 xlutils.copy 拷贝一份 Excel.
xlutils.copy 可以实现以下功能:
1. 读取表格信息的功能
2. 在表格中写入数据的功能
相当于 xlrd 和 xlwt 的结合体.
但请注意, xlrd 读取的 xlsx 具有完整的读取功能, 但保存为新表格文件时, 必须以 '.xls' 格
式保存, 因为 xlwt 只支持 '.xls' 格式的保存.
"""
# 首先用 xlrd 读取一张表格
read_file = 'sample.xlsx'
workbook = xlrd.open_workbook(read_file, formatting_info=False)
"""
formatting_info 参数表示保留原数据的样式 (如原表格的标黄单元格, 加粗字体等信息的保留),
默认值为 False (不保留).
另外, formatting_info=True 不保证能完美保留, 部分样式可能丢失. (个人遇到过的情况是新
建 sheet 操作会导致原表格标黄的单元格的背景色丢失)
"""
# 拷贝此表格
new_book = copy(workbook)
# 注: 此时的 new_book 不仅具有 xlwt 的功能, 还具有 xlrd 的功能, 也就是既可读又可写.
# 先展示读的功能
# new_book 读取 sheet 的操作和 xlrd.sheet_by_index 略有不同.
sheet = workbook.get_sheet(0)
# 更多请见 xlrd_demo.py.
# 写的功能
# 写一个单元格.
sheet.write(0, 0, 'new abc')
# 更多请见 xlwt_demo.py.
new_output_path = 'result2.xls'
new_book.save(new_output_path)
python xlutils 用法演示
最新推荐文章于 2025-06-25 00:03:24 发布