from xlutils.copy import copy 解决:导致Excel文件打不开(Excel无法打开文件,因为文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配)

使用python的xlutils.copy模块,进行文件数据写入,保存之后打不开

Excel文件后缀是xlsx,进行操作之后,打不开文件;(解决:把后缀xlsx改成xls就可以打开;或者文件一开始的后缀就是xls

import xlrd
from xlutils.copy import copy

file = 'D:/hunter_/demo3.xlsx'  # 文件路径
data = xlrd.open_workbook(file)  # 定义一个excel文件的workbook对象
print('data的类型为:', type(data))
data_copy = copy(data)  # 获取data的copy对象
print('data的copy对象类型为:', type(data_copy))
sheet_copy = data_copy.get_sheet(0)  # 从data_copy对象中获取第一个sheet对象

sheet_copy.write(2, 11, '测试写入内容')  # 向sheet的某个单元格写入值
data_copy.save('demo3.xlsx')  # 写入完成后保存data的copy对象

 

 改成xls文件能正常打开

 

 

 

 

 

注意:

xlrd模块0.8版本后不支持以xlsx为后缀名文件,所以使用这个方法的时候,excel要用xls格式的,不然会导致保存的文件无法打开

xlutils最新的2.0版本只能支持copy xls格式的excel文件,如果copy的是xlsx再保存,那么新生成的文件将无法打开。

原文出处:https://www.cnblogs.com/hemingwei/p/11585799.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章