openpyxl 操作Excel2010 xlsx库 中文文档
简易教程
from openpyxl import Workbook, load_workbook
# f = load_workbook('r:/new.xlsx') # 加载 Excel 2010文件
wb = Workbook() # 新建工作簿
ws = wb.active # 当前激活工作簿
ws.title = "New Title" # 修改工作簿名称
ws.sheet_properties.tabColor = "1072BA" # 设置标签颜色
# 可以使用 Workbook.create_sheet 方法来创建新的工作簿
ws1 = wb.create_sheet("Mysheet") # 在最后插入(默认)
ws2 = wb.create_sheet("Mysheet", 0) # 在第一个位置插入
ws3 = wb.create_sheet("Mysheet", -1) # 在倒数第二个位置插入
print(wb.sheetnames) # 查看所有工作簿名称
# # 遍历工作表
for sheet in wb:
print(sheet.title)
c = ws['A4'] # 通过工作表的键来访问单元格
ws['A4'] = 4 # 直接分配值
d = ws.cell(row=4, column=2, value=10) # 也可以通过行列符号访问单元格
wb.save('new.xlsx') # 保存工作簿
工作簿表格
工作簿表格是对单元格组的引用。这使得某些操作(例如,对表格中的单元格进行样式设置)更加容易。
创建表格 示例
from openpyxl import Workbook from openpyxl.worksheet.table import Table, TableStyleInfo wb = Workbook() ws = wb.active data = [ ['Apples', 10000, 5000, 8000, 6000], ['Pears', 2000, 3000, 4000, 5000], ['Bananas', 6000, 6000, 6500, 6000], ['Oranges', 500, 300, 200, 700], ] # 添加列标题。 注意,这些必须是字符串 ws.append(["Fruit", "2011", "2012", "2013", "2014"]) for row in data: ws.append(row) tab = Table(displayName="Table1", ref="A1:E5") # 添加带有条纹行和条纹列的默认样式 style = TableStyleInfo(name="TableStyleMedium9", showFirstColumn=False, showLastColumn=False, showRowStripes=True, showColumnStripes=True) tab.tableStyleInfo = style ''' 必须使用 ws.add_table() 方法添加表以避免重复名称。 使用此方法可确保表名在定义的名称和所有其他表名中都是唯一的。 ''' ws.add_table(tab) wb.save("table.xlsx")