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

时间:2024-02-24 15:40:50

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再保存,那么新生成的文件将无法打开。