python处理EXCEL
发布时间:2020-12-20 10:54:32 所属栏目:Python 来源:网络整理
导读:汇总报表 import xlrd,xlsxwriter# 读取opwb=xlrd.open_workbook('7月下旬入库表.xlsx')opws=opwb.sheet_by_index(0)# opws=opwb.sheet_by_index('七月')tswb=xlsxwriter.Workbook("7月下旬入库表2.xls")tsws=tswb.add_worksheet('7月')# 按行遍历复制for i
汇总报表import xlrd,xlsxwriter # 读取 opwb=xlrd.open_workbook('7月下旬入库表.xlsx') opws=opwb.sheet_by_index(0) # opws=opwb.sheet_by_index('七月') tswb=xlsxwriter.Workbook("7月下旬入库表2.xls") tsws=tswb.add_worksheet('7月') # 按行遍历复制 for i in range(opws.nrows): tsws.write_row('A'+str(i),opws.row_values(i-1)) # 关闭并保存创建的表格 tswb.close() 最小读取表格import xlrd xlsx=xlrd.open_workbook('c:/s.xls') table=xlsx.sheet_by_index(0) print(table.cell_value(3,2) 最小创建表格import xlsxwriter as xlw test_workbook=xlw.Workbook("test2.xlsx") worksheet=test_workbook.add_worksheet('test_table') worksheet.write(0,'test') test_workbook.close() 按行遍历复制(不带格式)from xlutils.copy import copy import xlrd,xlsxwriter xlsx=xlrd.open_workbook('7月下旬入库表.xlsx') table=xlsx.sheet_by_index(0) test_workbook=xlsxwriter.Workbook("7月下旬入库表2.xls") worksheet=test_workbook.add_worksheet('7月下旬入库表') for i in range(table.nrows): worksheet.write_row('A'+str(i),table.row_values(i-1)) test_workbook.close() xlutils带格式复制from xlutils.copy import copy import xlrd xlsx=xlrd.open_workbook("7月下旬入库表.xls",formatting_info=True) test_sheet=xlsx.sheet_by_index(0) new_excel=copy(xlsx) new_sheet=new_excel.get_sheet(0) new_excel.save('copy.xlsx') xlsxwriter带格式复制import xlrd,xlsxwriter # 读取 opwb=xlrd.open_workbook('7月下旬入库表.xlsx') opws=opwb.sheet_by_index(0) # opws=opwb.sheet_by_index('七月') # 创建,新版本xlsxwrite支持创建xls、xlsx tswb=xlsxwriter.Workbook("7月下旬入库表3.xls") tsws=tswb.add_worksheet('7月') bolds = tswb.add_format({'bold': True}) dates = tswb.add_format({'num_format': 'yyyy/m/d'}) tsws.write_column('A1',opws.col_values(0),dates) tsws.write_column('B1',opws.col_values(1)) tsws.write_column('C1',opws.col_values(2)) tsws.write_column('D1',opws.col_values(3)) tsws.write_column('E1',opws.col_values(4),bolds) # 关闭并保存创建的表格 tswb.close() python处理wordfrom docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH from docx.shared import Pt # 磅数 from docx.oxml.ns import qn # 中文格式 # 以上是docx库中需要用到的部分 import time price = input('请输入今日价格:') company_list = ['客户1','客户2','客户3','客户4','客户5','客户6','客户7','客户8','客户9','客户10'] today = time.strftime("%Y{y}%m{m}%d{d}",time.localtime()).format(y='年',m='月',d='日') # 获取今日时间,整理成“年-月-日”的格式 for i in company_list: # 针对每个客户名生成不同文档 document = Document() document.styles['Normal'].font.name = u'宋体' # 设置文档的基础字体 document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'),u'宋体') # 设置文档的基础样式 p1 = document.add_paragraph() # 初始化建立第一个自然段 p1.alignment = WD_ALIGN_PARAGRAPH.CENTER # 对齐方式为居中,没有这句的话默认左对齐。 run1 = p1.add_run('关于下达%s产品价格的通知' % (today)) # 这里是第一段的内容 run1.font.name = '微软雅黑' # 设置西文字体 run1._element.rPr.rFonts.set(qn('w:eastAsia'),u'微软雅黑') # 设置中文字体 run1.font.size = Pt(21) # 设置字体大小为21磅 run1.font.bold = True # 设置加粗 p1.space_after = Pt(5) # 段后距离5磅 p1.space_before = Pt(5) # 段前距离5磅 p2 = document.add_paragraph() run2 = p2.add_run(i + ':') # 这里是对客户的称呼 run2.font.name = '仿宋_GB2312' run2._element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312') run2.font.size = Pt(16) run2.font.bold = True p3 = document.add_paragraph() run3 = p3.add_run(' 根据公司安排,为提供优质客户服务,我单位拟定了今日价格为%s元,特此通知。' % price) run3.font.name = '仿宋_GB2312' run3._element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312') run3.font.size = Pt(16) run3.font.bold = True p4 = document.add_paragraph() p4.alignment = WD_ALIGN_PARAGRAPH.CENTER run4 = p4.add_run('(联系人:小杨 电话:18888888888)') run4.font.name = '仿宋_GB2312' run4._element.rPr.rFonts.set(qn('w:eastAsia'),u'仿宋_GB2312') run4.font.size = Pt(16) run4.font.bold = True document.save('%s-价格通知.docx' % i) # 以“客户名-价格通知”作为文件名保存 参考:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |