Excel Otomasi Menggunakan Python – 3

Melanjutkan dari modul sebelumnya, pada modul ini kita akan melanjutkan contoh operasi sheet penting lainnya yaitu operasi cell.

Buka REPL, lalu import library openpyxl. Kemudian load file xlsx yang akan digunakan, pada tutorial digunakan file belajaropenpyxl.xlsx.

Sheet yang akan digunakan adalah sheet EmployeeData.

import openpyxl
workbook = openpyxl.load_workbook("belajaropenpyxl.xlsx")
sheet = workbook['EmployeeData']

Mengakses Value dari Cell

Untuk mengakses value sebuah cell, ada dua cara:

  • Menggunakan koordinat cell excel, contoh cell B2.
  • Menggunakan sistem col dan row numbering. Jika menggunakan contoh B2, maka (row=2, column=2)
#cara pertama
sheet['B2'].value

#cara kedua
sheet.cell(row=2, column=2).value
'Bruce'

Menggunakan Object Cell

Bekerja dengan file excel adalah bekerja pada cell. Agar coding tidak panjang dan berulang-ulang, kita buat referensi terhadap object cell tersebut.

cell = sheet['B2']

Selanjutnya, dengan menggunakan variable cell, kita bisa mengakses semua informasi yang disediakan.

>>> cell.row
2
>>> cell.column
2
>>> cell.coordinate
'B2'
>>> cell.data_type
's'
>>> cell.value
'Bruce'
>>> cell.encoding
'utf-8'

Mengubah isi cell

Untuk mengubah isi cell sangat mudah. Contoh mengganti isi cell B2 menjadi Bambang.

Perhatian: Jangan lupa untuk menjalankan perintah save.

cell.value = 'Bambang'
workbook.save('belajaropenpyxl.xlsx')

Jika Anda periksa file excel, maka nama Bruce sudah berganti menjadi Bambang.

Informasi Parent

Untuk mengetahui parent dari cell, gunakan perintah parent

cell.parent
<Worksheet "EmployeeData">

Cell Styling

Cell styling berguna untuk mengatur tampilan dari cell, seperti alignment, border dan lainnya. Untuk melihat perintah yang berhubungan dengan cell styling gunakan perintah berikut.

dir(openpyxl.styles)

['Alignment', 'Border', 'Color', 'DEFAULT_FONT', 'Fill', 'Font', 'GradientFill', 'NamedStyle', 'NumberFormatDescriptor', 'PatternFill', 'Protection', 'Side', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'alignment', 'borders', 'builtins', 'cell_style', 'colors', 'differential', 'fills', 'fonts', 'is_builtin', 'is_date_format', 'named_styles', 'numbers', 'protection', 'proxy', 'styleable', 'stylesheet', 'table']

Berikut contoh snipet penggunaan style:

import openpyxl
from openpyxl.styles import *

#load file excel, pilih sheet yang akan digunakan
workbook = openpyxl.load_workbook('belajaropenpyxl.xlsx')
sheet = workbook['EmployeeData']

#pilih cell yang akan ditambahkan styling
cell = sheet['D4']

#mengatur font color dan style
font = Font(color = 'FF0000', bold=True, italic=True)
cell.font = font

#mengatur fill
fill = PatternFill(fill_type='solid', bgColor = 'F2F2F2')
cell.fill = fill

#mengatur alignment
align = Alignment(horizontal = 'left')
cell.alignment = align

#mengatur border
border = Border(left= Side(border_style='double', color='FF0000'), right = Side(border_style='double', color='FF0000'), top= Side(border_style='double', color='FF0000'), bottom = Side(border_style='double', color='FF0000'))

Untuk dokumentasi lengkap silakan lihat di https://openpyxl.readthedocs.io/en/stable/styles.html

Sharing is caring:

Leave a Comment