三板斧
这篇文章给大家分享的是Python中的openpyxl的基本用法及相关概念有哪些。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
以上就是关于“Python中的openpyxl的基本用法及相关概念有哪些”的介绍了,感谢各位的阅读,如果大家想要了解更多相关的内容,欢迎关注博信,小编每天都会为大家更新不同的知识。
xlwt教程地址 ----_<_>_----
概述
Openpyxl是python中简单易用的操作excel电子表格的一个模块。接下来呢,跟博主一起学习一下吧 ----_<_>_----
首先先清楚一些excel的基本概念:
在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells。Workbook就是一个excel工作表;Sheet是工作表中的一张表页;Cell就是简单的一个格。openpyxl就是围绕着这三个概念进行的,不管读写都是“三板斧”:打开Workbook,定位Sheet,操作Cell。
总结:
workbooks是excel一个工作表,一个工作表包含多个页,即包含多个sheet sheet是excel当中的一页,一个工作页包含多个表格,即包含多个cell cell是excel当中的一个工作表格安装
pip install openpyxl
接下来就介绍一下简单的操作
# -*- coding:utf-8 -*- # 导入 from openpyxl import workbook from openpyxl import load_workbook # 打开一个供作薄 wb = load_workbook('file_name.xlsx') # 获取一张表 sheet = wb.get_sheet_by_name("Sheet1") # 获取A1格的值 print sheet['A1'].value # 获取表的最大工作行数 print sheet.max_row # 获取表的最大工作列数 print sheet.max_column # 打印C列的所有内容(以下格式代表不换行) for i in sheet["C"]: print i.value, ' ', print '' # 打印1行的所有内容 for i in sheet["1"]: print i.value, ' ', print ''
注意:当读到的内容为None时说明该表格中的内容为空
接下来呢新创建一个新的工作薄
# -*- coding:utf-8 -*- from openpyxl import Workbook # 创建一个工作薄 wb = Workbook() # 创建一个工作表(注意是一个属性) sheet = wb.active # excel创建的工作表名默认为sheet1,一下代码实现了给新创建的工作表创建一个新的名字 sheet.title = 'create_sheet' # 向工作表中输入内容 sheet['C3'] = 'hello word' for i in range(10): sheet['A%d' % (i+1)] = i+1 # 向excel表中输入表达试 sheet['C2'] = '=SUM(A:A)' # 保存一个文档 wb.save('create_excel.xlsx') if __name__ == '__main__': pass
保存之后会出现一下样式
django中从服务端弹到浏览器段的方法
思想:将信息保存到字符串缓冲区,然后指定返回到客户端的格式为excel格式即可
代码:
from openpyxl import load_workbook wb = load_workbook('file_name.xlsx') from io import BytesIO output = BytesIO() sheet = wb[wb.get_sheet_names()[0]] # 获取第一个工作区 sheet['A3'] = 'kayb' wb.save(output) # 将wb文件保存到缓存区中 response = HttpResponse(content_type='application/vnd.ms-excel') response['Content-Disposition'] = 'attachment;filename={0}.xlsx'.format(‘file_name’) response.write(output.getvalue()) # 获取缓冲区当中的值 return response
以上就是关于“Python中的openpyxl的基本用法及相关概念有哪些”的介绍了,感谢各位的阅读,如果大家想要了解更多相关的内容,欢迎关注博信,小编每天都会为大家更新不同的知识。
版权声明
本文仅代表作者观点,不代表博信信息网立场。