openpyxl使用总结
2022/3/31 6:23:52
本文主要是介绍openpyxl使用总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
点击时的区域标题
``` from openpyxl.styles import PatternFill, Font from openpyxl.drawing.image import Image from openpyxl import Workbook from typing import List import osfrom core.config import settings
class Excel:
def init(self, excel_name):
self.excel_name: str = excel_name
self.excel_path: str = f'{settings.TEMP_FILE}/{self.excel_name}'
self.wb = Workbook()
self.ws = self.wb.active
def write_header(self, header: List[str], column_width: List[list]): """ headers: 表头内容 column_dimensions:表头的间隔 """ # 设置表头样式:黑色填充,白色字体 fill = PatternFill("solid", fgColor='FF000000') font = Font(color='00FFFFFF') for index, v in enumerate(header): d = self.ws.cell(row=1, column=index + 1) d.value = v d.fill = fill d.font = font # 设置列间隔 for row in column_width: self.ws.column_dimensions[row[0]].width = row[1] def write_body(self, rows: List[dict]): """ rows: [[1,2,3],[1,2,3]] """ for index_row, row in enumerate(rows): index = 1 for v in row.values(): self.ws.cell(row=index_row + 2, column=index).value = v index += 1 return self.__save() def write_body_with_image(self, rows: List[dict]): """ rows: [[1,2,3],[1,2,3]], """ for index_row, row in enumerate(rows): index = 1 for v in row.values(): if index == 6: # 单元格保存图片用add_image image_path = f'{settings.BASE_PATH}/{v}' img = Image(image_path) # 设置宽高 # img.width, img.height = 80, 100 self.ws.add_image(img, f'F{index_row + 2}') # 设置单元格高度 self.ws.row_dimensions[index_row + 2].height = 40 else: self.ws.cell(row=index_row + 2, column=index).value = v index += 1 return self.__save() def __save(self): try: self.wb.save(self.excel_path) return True except Exception as e: print(f'[保存Excel报错] {e}') return False # def __del__(self): # os.remove(self.excel_name)
</details>
这篇关于openpyxl使用总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南