
- from openpyxl import load_workbook
- from openpyxl.styles import Font,colors, Alignment
- from openpyxl.styles import Border, Side
- #打开已经存在的Excel
- workbook = load_workbook(filename='C:\\Users\\yh\\Documents\\测试.xlsx')
- #创建表(sheet),插入到最后(default)
- ws1 = workbook.create_sheet("Mysheet")
- #创建表(sheet),插入到最开始的位置
- ws2 = workbook.create_sheet("Mysheet2",0)
-
- print(workbook.sheetnames)
- #根据名称获取工作表
- sheet = workbook['1']
- #获取表格内容所在的范围
- print(sheet.dimensions)
- # 获得最大列和最大行
- print(sheet.max_row)
- print(sheet.max_column)
- #获取某个单元格的具体内容
- #获取每一行,每一列
- # 因为按行,所以返回A1, B1, C1这样的顺序
- for row in sheet.rows:
- for cell in row:
- print(cell.value)
-
- # A1, A2, A3这样的顺序
- for column in sheet.columns:
- for cell in column:
- print(cell.value)
-
- #指定坐标
- cell=sheet['A1']
- print(cell.value)
- #指定行列
- cell1=sheet.cell(row=6,column=5)
- print(cell1.value)
- #获取某个单元格的行、列、坐标
- print(cell.row, cell.column, cell.coordinate)
- #设置行高和列宽
- sheet.row_dimensions[6].height = 200
- sheet.column_dimensions['C'].width = 50
-
- #写入单元格
- cell3 = sheet['B1']
- cell3.value = '业务需求'
- # 合并
- #sheet.merge_cells('B2:D5')
- #sheet.merge_cells(start_row=1, start_column=3,
- # end_row=2, end_column=4)
-
- # 取消合并
- sheet.unmerge_cells('B2:D5')
- #sheet.unmerge_cells(start_row=1, start_column=3,
- # end_row=2, end_column=4)
- # 下面的代码指定了等线24号,加粗斜体,字体颜色红色。直接使用cell的font属性,将Font对象赋值给它。
- bold_itatic_24_font = Font(name='等线', size=24, italic=True, color=colors.RED, bold=True)
-
- sheet['A1'].font = bold_itatic_24_font
-
- #保存Excel
- workbook.save(filename='C:\\Users\\yh\\Documents\\测试.xlsx')