Python处理Excel(7):处理清产核资表格(2)合并单元格等
openpyxl能保持Excel表原有的格式。
一、清空单元格
#coding=utf-8
#合并单元格,此文档尝试了用增加行
import xlrd, xlwt, xlwings, pyautogui, time, pyperclip, easygui, os, tkinter, io,pandas,shutil,re, os
from tkinter import filedialog,ttk
from openpyxl import load_workbook
from openpyxl.styles import Border, Side, colors
#import autopy as at
import openpyxl
#file= tkinter.filedialog.askopenfile()#选择打开什么文件,返回IO流对象
#file= tkinter.filedialog.askopenfilename()#选择打开什么文件,返回文件名
#print(file)
from io import StringIO
import sys
from contextlib import contextmanager
import sys
curn_path = os.getcwd() #current path当前路径
temp_tabl_path = os.path.join(curn_path, 'Template Table')
outp_tabl_path = os.path.join(curn_path, 'Output Table')
data_sour_path = os.path.join(curn_path, 'Data Source')
# ['封面', '货币资金清查登记表', '短期投资清查登记表', '应收款项清查登记表', '库存物资清查登记表', '牲畜 (禽) 资产清查登记表', '林木资产清查登记表', '长期投资清查登记表',
# '固定资产清查登记表-1', ' 固定资产清查登记表-2', '在建工程清查登记表-1', '在建工程清查登记表-2', '无形资产清查登记表', '租赁发包合同', '短期借款清查登记表', '应付款项清查登记表',
# '长期借款及应付款清查登记表', '应付工资清查登记表', '应付福利费清查登记表', '一事一议资金清查登记表', '专项应付款清查登记表', '所有者权益清查登记表', '待界定资产清查登记表(账外)',
# '资源性资产清查登记明细表-1', '资源性资产清查登记明细表-2', '资源性资产清查登记明细表-3', '资产负债表(合并报表)', '资源性资产清查登记总表', '收益分配统计表', '合同总表']
list_shet_name =['货币资金清查登记表', '应收款项清查登记表', ' 固定资产清查登记表-2','应付款项清查登记表','应付工资清查登记表','专项应付款清查登记表']
#indx_list_shet_name=0
shet_name =list_shet_name[0]
def get_file_list(raw_folder_path):
# 打开文件
dirs = os.listdir(raw_folder_path)
raw_file_list=[]
raw_file_path_list=[]
for home, dirs, files in os.walk(raw_folder_path):
for file_name in files:
raw_file_list.append((file_name))
raw_file_path_list.append(os.path.join(home, file_name))
#print('raw_file_list')
#print(raw_file_list)
return raw_file_list,raw_file_path_list
def modf_excl(targ_file_path, shet_name): #modify Excel
#Unmerges cells Excel 01.py:50: DeprecationWarning: Call to deprecated function get_sheet_by_name
# python的openpyxl连接Excel:舍弃get_sheet_names()
# 与get_shetet_by_name(),现在已经替换成了相应的其他两个方法。
# - wb.get_sheet_names()(舍弃) —— > wb.sheetnames(现在用的)
# - wb.get_sheet_by_names(‘sheet1’)(舍弃) —— > wb[ ‘sheet1’](现在用的)
# ————————————————
# 版权声明:本文为CSDN博主「い风花の雪栎」的原创文章,遵循CC
# 4.0
# BY - SA版权协议,转载请附上原文出处链接及本声明。
# 原文链接:https: // blog.csdn.net / XRTONY / article / details / 113817732
print(targ_file_path)
wb = load_workbook(targ_file_path)
# # ws = wb[' 固定资产清查登记表-2']
# #ws = wb['封面']
# #ws = wb[' 固定资产清查登记表-2']
# ws = wb['应收款项清查登记表']
# ws = wb['资源性资产清查登记明细表-1']
ws = wb[shet_name]
#ws = wb.get_sheet_by_name('封面')
# ws.merge_cells('A1:B1')
# ws.unmerge_cells('A1:B1')
# 以下函数可以达到相同效果
#ws = wb._sheets[0]
# 获取行列数
# print(wb.sheetnames)
# ['封面', '货币资金清查登记表', '短期投资清查登记表', '应收款项清查登记表', '库存物资清查登记表', '牲畜 (禽) 资产清查登记表', '林木资产清查登记表', '长期投资清查登记表',
# '固定资产清查登记表-1', ' 固定资产清查登记表-2', '在建工程清查登记表-1', '在建工程清查登记表-2', '无形资产清查登记表', '租赁发包合同', '短期借款清查登记表', '应付款项清查登记表',
# '长期借款及应付款清查登记表', '应付工资清查登记表', '应付福利费清查登记表', '一事一议资金清查登记表', '专项应付款清查登记表', '所有者权益清查登记表', '待界定资产清查登记表(账外)',
# '资源性资产清查登记明细表-1', '资源性资产清查登记明细表-2', '资源性资产清查登记明细表-3', '资产负债表(合并报表)', '资源性资产清查登记总表', '收益分配统计表', '合同总表']
row = ws.max_row
colm = ws.max_column
#print(row)
#print(colm)
# # 单元格赋值
#ws.cell(row=9, column=1, value='金额')
# xl_cell = xl_sheet.cell(row=i, column=j, value=“金额”)
#ws.unmerge_cells(start_row=row-1, start_column=1, end_row=row-1, end_column=3) #wb[' 固定资产清查登记表-2']
#ws.unmerge_cells(start_row=row-1, start_column=1, end_row=row-1, end_column=2) #'应收款项清查登记表'
#ws.unmerge_cells(start_row=row - 1, start_column=1, end_row=row - 1, end_column=2) # '资源性资产清查登记明细表-1'
if shet_name=='货币资金清查登记表':
print('修改{}'.format(shet_name))
ws.cell(row=6, column=4).value = 0.00
ws.cell(row=6, column=8).value = 0.00
ws.cel