1、例如:
读取原始表格;
获得前面100行的所有内容,写入一个新的excel表格;
import xlwt, xlrd
if __name__ == '__main__':
excel_path = '1.xlsx'
path1 = '2.xlsx'
wb_temp = xlrd.open_workbook(excel_path) # 打开待操作的表
sheet1 = wb_temp.sheet_by_index(0) # 获取第一个sheet
new_wb = xlwt.Workbook() # 新建一个表
new_sheet = new_wb.add_sheet('Sheet1', cell_overwrite_ok=True) #新建一个sheet1
for k in range(100):
row = sheet1.row_values(k) # 获取原始表种第k行的内容,w为一个list
for i, content in enumerate(row):
new_sheet.write(k, i, content) # 作为新表的第k行写入
new_wb.save(path1) # 写入完成,保存工作簿
上面测试发现新的excel没有保留原始格式和颜色:
2、想要完全保留原始的格式和颜色,直接用copy:
这里用的是.xls格式
import xlwt, xlrd
from xlutils.copy import copy
if __name__ == '__main__':
excel_path = '1.xls'
path1 = 'D:/2.xls'
wb_temp = xlrd.open_workbook(excel_path,formatting_info=True) # 打开待操作的表
sheet1 = wb_temp.sheet_by_index(0) # 根据索引获取第一个sheet
wb = copy(wb_temp)
wb.save(path1) # 写入完成,保存工作簿
但是这个copy后,如果原始excel有批注,则不会复制;