码迷,mamicode.com
首页 > 编程语言 > 详细

Python处理Excel文档之openpyxl

时间:2018-08-18 11:39:59      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:auth   定义   direct   opened   命名   rop   xlsx   property   image   

openpyxl 可以很好的处理 2010版本以上的表格。

示例:

 1 #coding:utf8
 2 ‘‘‘
 3 Created on 2018年8月18日
 4 
 5 @author: Administrator
 6 ‘‘‘
 7 from openpyxl import Workbook
 8 import datetime
 9 wb = Workbook()
10 
11 # grab the active worksheet
12 ws = wb.active
13 
14 # Data can be assigned directly to cells
15 ws[A1] = "班级人员统计表"
16 
17 # Rows can also be appended
18 list_str=["记录时间","学号","姓名","性别","年龄"]
19 ws.append(list_str)
20 
21 list_str2=["1","诸葛亮","","89"]
22 time1=datetime.date.today()
23 list_str2.insert(0, time1)
24 ws.append(list_str2)
25 
26 # 如果你要在已经有的数据上进行修改,会自动覆盖掉,原有的数据
27 # import datetime
28 # ws[‘A2‘] = datetime.datetime.now()
29 
30 # Save the file
31 wb.save("sample.xlsx")


在内存中处理一个工作簿:

创建一个工作簿

没有必要利用 openpyxl 先去创建一个文件系统上的文件然后才能开始使用。你只要导入工作簿类,然后开始使用它吧。

>>> from openpyxl import Workbook
>>> wb = Workbook()

A workbook is always created with at least one worksheet. You can get it by using the  openpyxl.workbook.Workbook.active()  property

一个工作簿被创建后,总会在里面默认创建一张工作表。你可以通过使用方法 openpyxl.workbook.Workbook.active() 来得到它。

 ws = wb.active

  默认状态下,函数 the _active_sheet_index property 的 index设置为0,除非你手动修改它的数值,否则的话,你用这个方法,只会拿到第一个工作表。

技术分享图片
 1 @property
 2     def active(self):
 3         """Get the currently active sheet or None
 4 
 5         :type: :class:`openpyxl.worksheet.worksheet.Worksheet`
 6         """
 7         try:
 8             return self._sheets[self._active_sheet_index]
 9         except IndexError:
10             pass
11 
12     @active.setter
13     def active(self, value):
14         """Set the active sheet"""
15         self._active_sheet_index = value
16 
17     def create_sheet(self, title=None, index=None):
18         """Create a worksheet (at an optional index).
19 
20         :param title: optional title of the sheet
21         :type title: unicode
22         :param index: optional position at which the sheet will be inserted
23         :type index: int
24 
25         """
26         if self.read_only:
27             raise ReadOnlyWorkbookException(Cannot create new sheet in a read-only workbook)
28 
29         if self.write_only :
30             new_ws = WriteOnlyWorksheet(parent=self, title=title)
31         else:
32             new_ws = Worksheet(parent=self, title=title)
33 
34         self._add_sheet(sheet=new_ws, index=index)
35         return new_ws
View Code

 

可以通过 openpyxl.workbook.Workbook.create_sheet() 方法,创建工作表。

wb.create_sheet("mysheet", 1)
wss=wb.create_sheet()

ws1 = wb.create_sheet("Mysheet111") # insert at the end (default)
ws2 = wb.create_sheet("Mysheet222", 0) # insert at first position

工作表的名字是自动命令。按照列表(Sheet, Sheet1, Sheet2, …)的内容,顺序命名。你也可以自定义工作表名字。

ws.title = "New Title"

默认情况下,包含此标题的选项卡的背景颜色为白色。您可以将此更改为为 sheet_properties 提供RRGGBB颜色代码。 tabColor 属性:

ws.sheet_properties.tabColor = "1072BA"

技术分享图片

 

Python处理Excel文档之openpyxl

标签:auth   定义   direct   opened   命名   rop   xlsx   property   image   

原文地址:https://www.cnblogs.com/Mengchangxin/p/9496275.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!