Openpyxl Tutorial – Complete Guide

Welcome to an exciting journey of discovery as we delve into the world of openpyxl – a powerful Python library that allows you to read, write, and manipulate Excel spreadsheets. Whether you’re an early stage learner or a coding veteran, there is always an elegant solution to make your excel data handling tasks easier and more efficient with openpyxl.

What is openpyxl?

Openpyxl is an open-source Python library for reading and writing Excel 2010+ xlsx/xlsm/xltx/xltm files. It has become a go-to solution for Python programmers working with Excel files due to its simplicity and flexibility.

This valuable tool has a realm of uses, as it can help you automate regular excel tasks, perform data cleaning, carry out statistical analysis, or transform raw data outputs into beautifully formatted reports. Be it a few or thousands of lines of data, with openpyxl, crunching numbers become a breeze.

Learning openpyxl can significantly boost your productivity, as it allows you to automate manual, time-consuming processes. Plus, as excel is the cornerstone of many professional environments, being able to efficiently manage excel files using Python spells more productivity and value in your workplace or projects. Finally, openpyxl’s practicality in manipulating data makes it an essential tool in your data science toolkit.

CTA Small Image

Getting Started with openpyxl

The first thing you’ll need to start working with openpyxl is to install it. You can do it easily via pip:

pip install openpyxl

Loading an Excel file

Once you have openpyxl installed, you can start by loading an Excel file:

from openpyxl import load_workbook

# load an excel workbook
workbook = load_workbook(filename="your_file.xlsx")

# print the names of all the worksheets in the file
for sheet in workbook.sheetnames:

Reading data from an Excel file

With an Excel file open, you can start reading data. Here’s how you would read data from the first row and column:

sheet =  # get the active sheet

# get a cell's value from the sheet
cell = sheet["A1"]

Writing data to an Excel file

Now let’s try writing to our Excel file:

sheet["B1"] = "New Value"  # write to cell B1

And save the modified workbook:"modified_file.xlsx")

How to create a new worksheet

Openpyxl allows you to create new worksheets within your workbook. Here’s how you can do it:

# create a new worksheet
new_sheet = workbook.create_sheet("New Sheet")

Working with Excel formulas

Openpyxl also supports Excel formulas:

# using a SUM formula
new_sheet["A1"] = "=SUM(1, 1)"  # sets cell A1 to the value of 2

Navigating through cells

You can loop through rows and columns of your worksheet using openpyxl:

for row in new_sheet.iter_rows(values_only=True):

This outputs each row content as a tuple.

Adding styles to your cells

With openpyxl, you can customize the look and feel of your Excel cells:

from openpyxl.styles import Font
# creating a bold font
bold_font = Font(bold=True)
new_sheet["A1"].font = bold_font

This makes the font of cell A1 bold.

Adding borders to your cells

You can improve the clarity of your worksheet by adding borders to your cells:

from openpyxl.styles import Border, Side
# creating a dashed border
dashed_border = Border(left=Side(border_style="dashed"))
new_sheet["A1"].border = dashed_border

This adds a dashed left border to cell A1.

Working with dates

Openpyxl can also handle dates or time-related data:

from datetime import datetime
# inserting a datetime value
new_sheet["A2"] =

These are a few advanced operations that you can perform with openpyxl. This Python library offers a wide range of other functionalities that can help you automate all your Excel tasks and make your work more efficient.

Where to go next? How to keep learning?

Your journey doesn’t have to stop here. Python offers a world of possibilities – be it automation, data science, web and app development, game creation, AI or much more – it’s a language that can lead you to various exciting domains.

With Zenva’s Python Mini-Degree, you can deepen your Python skills and venture into advanced areas. This comprehensive collection of courses covers coding basics, algorithms, object-oriented programming, and even takes you into the thrilling territories of game and app development. Each course is designed with graded difficulty levels to cater to both beginners and experienced learners, enriched by step-by-step projects to help you learn while creating.

  • Flexibly paced and accessible 24/7, allowing you to learn at your own convenience.
  • Interactive lessons and coding challenges to reinforce learning.
  • Professional and certified instructors dedicated to delivering high-quality instruction.
  • By course completion, you’ll have a portfolio of Python projects showcasing your skills.

If you are seeking a diverse range of Python courses, look no further than our Python Course Collection. Designed by our expert team at Zenva Academy, these Python courses will help you hone your skills further and open up opportunities in whichever field you aspire to excel in.

Here at Zenva Academy, our mission is to empower learners like you with the necessary skills to succeed in your coding journey. From beginner to professional, every step you take with us helps to unlock new dimensions in your career or personal development. With Zenva, you’re not just learning – you’re evolving.


Openpyxl is a formidable tool to have in your programming toolkit. By harnessing Python’s capabilities with openpyxl, you’ve unlocked a smarter way to work with Excel – saving valuable time, increasing productivity, and making data management tasks seamless.

At Zenva, we are excited about the prospects this knowledge opens for you. We encourage you to apply these skills to boost efficiency in your projects, or even pioneer new ones. As you journey on, stroll along our course paths and explore our wide range of offerings in our Python Course Collection. Enjoy your journey with Python, and remember – you don’t just code with Zenva, you grow with us.

Did you come across any errors in this tutorial? Please let us know by completing this form and we’ll look into it!

Python Blog Image

FINAL DAYS: Unlock coding courses in Unity, Godot, Unreal, Python and more.