Python 如何写入Excel格式和颜色

2021-03-12 0 656

Python写入Excel有时需要合并单元格、或者改变文字内容的颜色

首先导入xlwt模块

import xlwt

创建文件名

创建Excel工作簿对象

创建工作表

创建样式字体红色

filename = (u\'商品模板.xls\')
wb = xlwt.Workbook()
sheet = wb.add_sheet(\'sheet1\')
style = \"font:colour_index red;\"
red_style = xlwt.easyxf(style)

准备要写入的数据

datas = [
     [\'name\',\'code\', \'cost\', \'goods_category_id\',
     \'weight\', \'net_weight\', \'brand_id\',
     \'out_id\', \'image_url\', \'customs_code\',
     \'hs_code\', \'customs_price\', \'active\',     
     \'is_group\',\'cn_name\',\'goods_name\',\'goods_price\'],
      [u\'商品名称\',u\'商品编码\', u\'成本\', u\'商品类别\',
      u\'重量\', u\'净重\', u\'品牌\', u\'外部链接\',
      u\'图片URL\', u\'海关编码\', u\'hs编码\',
      u\'海关报价\', u\'商品状态(0/f)\', u\'是否组合商品(t/f)\',
      u\'申报中文名\',u\'商品名称\',u\'销售单价\']
    ]

表头数据的写入

row_count = len(datas)
for row in range(0, row_count):
  col_count = len(datas[row])
  for col in range(0, col_count):
    if row == 0:     # 设置表头单元格的格式
      sheet.write(row, col, datas[row][col])
    else:         # 表头下面的数据格式
      sheet.write(row, col, datas[row][col], red_style)

合并单元格、写入注释

note = u\'红色字体部分为说明部分,请删除。产品批量更新字段必须要name(就是sku),其他需要更新的信息,自行复制下列字段添加到第一行(t为是,f为否)\'
sheet.write_merge(2, 2, 0, len(datas[1]), note, red_style)

效果如下:

Python 如何写入Excel格式和颜色

这里着重介绍一下write_merge(start_row,end_row,start_col,end_col,data,style)中的6个参数

start_row:合并单元格的起始行

end_row:合并单元格的终止行

start_col:合并单元格的起始列

end_col:合并单元格的终止列

data:内容

style:样式

补充:python操作Excel和Docx并控制文字的颜色及其他样式(通俗易懂)

1、Excel

from xlsxwriter.workbook import Workbook
workbook = Workbook(r\'test.xlsx\') # 创建xlsx
worksheet = workbook.add_worksheet(\'A\') # 添加sheet
red = workbook.add_format({\'color\':\'red\'}) # 颜色对象
worksheet.write(0, 0, \'sentences\') # 0,0表示row,column,sentences表示要写入的字符串
test_list = [\"我爱\", \"中国\", \"天安门\"]
test_list.insert(1, red) # 将颜色对象放入需要设置颜色的词语前面
print(test_list)
worksheet.write_rich_string(1, 0, *test_list) # 写入工作簿
workbook.close() # 记得关闭

结果如下:

Python 如何写入Excel格式和颜色

2、Docx

from docx import Document # pip install python-docx
from docx.shared import RGBColor, Pt
from docx.oxml.ns import qn
content = [\"我爱\", \"中国\",\" 北京\"]
print(content)
# 创建文档对象
document = Document()
# 创建段落对象,注意,里面的内容会显示在段落开头
para = document.add_paragraph(\'段落0\\n\')
# 往para段落对象中添加正文内容
para.add_run(content[0])
# 往para对象添加内容的同时返回内容对象run,之后可以通过这个run对象给这个部分的文字设置样式,比如颜色,大小,字体等
run = para.add_run(content[1])
# 给run对象设置字体颜色属性, RGBColor(250,0,0)表示红色
run.font.color.rgb = RGBColor(250,0,0)
# 给run对象设置字体大小属性
run.font.size = Pt(20)
# 给run对象设置字体类型属性
run.font.name = u\'宋体\'
run._element.rPr.rFonts.set(qn(\'w:eastAsia\'), u\'宋体\')
# para对象中添加其他内容
para.add_run(content[2])
# 保存
document.save(\'test.docx\')

结果如下:

Python 如何写入Excel格式和颜色

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自学编程网。如有错误或未考虑完全的地方,望不吝赐教。

遇见资源网 Python Python 如何写入Excel格式和颜色 http://www.ox520.com/28286.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务