简单示例writeworkbookfromopenpyxlimportWorkbookfromopenpyxl.utilsimportget_column_letterwb=Workbook()dest_filename='empty_book.xlsx'ws1=wb.activews1.title="范围名称"for范围内的行(1,40):ws1.append(range(600))ws2=wb.create_sheet(title="Pi")ws2['F5']=3.14ws3=wb.create_sheet(title="Data")对于范围(10,20)中的行:对于范围(27,54)中的列:_=ws3.cell(column=col,row=row,value="0}".format(get_column_letter(col)))print(ws3['AA10'].value)输出:AAwb.save(filename=dest_filename)从openpyxlimportload_workbookwb=load_workbook(filename='empty_book.xlsx')sheet_ranges=wb['范围名称']print(sheet_ranges['D18'].value)output:3注意:使用load_workbook()读取工作簿时有几个flags(标志)要用到:data_only控制有公式的单元格是否有公式(默认)或存储的值上次Excel读取工作表。keep_vba??控制是否保留VisualBasic元素(默认),如果保留,则它们保持不可编辑。警告:openpyxl目前无法读取Excel文件中的所有可能项目,因此如果以相同的文件名打开和保存现有文件,图像和图表将会丢失。使用数字格式importdatetimefromopenpyxlimportWorkbookwb=Workbook()ws=wb.active#使用Pythondatetime设置日期ws['A1']=datetime.datetime(2010,7,21)ws['A1'].number_format'yyyy-mm-ddh:mm:ss'使用来自openpyxl的函数importWorkbookwb=Workbook()ws=wb.active#使用一个简单的函数ws["A1"]="=SUM(1,1)"wb.save("formula.xlsx")注意:函数必须使用英文名称,函数参数必须用逗号分隔,不能使用分号等其他标点符号。openpyxl从不评估函数,但可以检查函数的名称:fromopenpyxl.utilsimportFORMULAS"HEX2DEC"inFORMULASoutput:True如果您尝试使用未知函数,可能是因为该函数未包含在初始规范,此类函数必须以_xlfn为前缀才有效。合并/拆分单元格合并单元格时,除了左上角的单元格外,所有单元格都将从工作??表中删除。为了携带合并单元格的边框信息,合并单元格的边框单元格被创建为MergeCells,其值始终为None。有关格式化合并单元格的信息,请参阅样式合并单元格。fromopenpyxl.workbookimportWorkbookwb=Workbook()ws=wb.activews.merge_cells('A2:D2')ws.unmerge_cells('A2:D2')#相当于ws.merge_cells(start_row=2,start_column=1,end_row=4,end_column=4)ws.unmerge_cells(start_row=2,start_column=1,end_row=4,end_column=4)从openpyxl插入图像从openpyxl.drawing.image导入工作簿importImagewb=Workbook()ws=wb。activews['A1']='你应该在下面看到三个标志'#创建一个图像对象img=Image('logo.png')#添加到工作表并锚定在单元格中ws.add_image(img,'A1')wb。save('logo.xlsx')hidecellsimportopenpyxlwb=openpyxl.Workbook()ws=wb.create_sheet()#hidecolumnsfromAtoDcolumnsws.column_dimensions.group('A','D',hidden=True)#隐藏1到10行范围内的行ws.row_dimensions.group(1,10,hidden=True)wb.save('group.xlsx')
