Open In App

Python | Create and write on excel file using xlsxwriter module

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

XlsxWriter is a Python module for writing files in the XLSX file format. It can be used to write text, numbers, and formulas to multiple worksheets. Also, it supports features such as formatting, images, charts, page setup, auto filters, conditional formatting and many others.
Use this command to install xlsxwriter module: 
 

 pip install xlsxwriter 

  
Note: Throughout XlsxWriter, rows and columns are zero indexed. The first cell in a worksheet, A1 is (0, 0), B1 is (0, 1), A2 is (1, 0), B2 is (1, 1) ..similarly for all.
Let’s see how to create and write to an excel-sheet using Python.
Code #1 : Using A1 notation(cell name) for writing data in the specific cells.
 

Python3




# import xlsxwriter module
import xlsxwriter
 
# Workbook() takes one, non-optional, argument
# which is the filename that we want to create.
workbook = xlsxwriter.Workbook('hello.xlsx')
 
# The workbook object is then used to add new
# worksheet via the add_worksheet() method.
worksheet = workbook.add_worksheet()
 
# Use the worksheet object to write
# data via the write() method.
worksheet.write('A1', 'Hello..')
worksheet.write('B1', 'Geeks')
worksheet.write('C1', 'For')
worksheet.write('D1', 'Geeks')
 
# Finally, close the Excel file
# via the close() method.
workbook.close()


Output: 
 

  
Code #2 : Using the row-column notation(indexing value) for writing data in the specific cells.
 

Python3




# import xlsxwriter module
import xlsxwriter
 
workbook = xlsxwriter.Workbook('Example2.xlsx')
worksheet = workbook.add_worksheet()
 
# Start from the first cell.
# Rows and columns are zero indexed.
row = 0
column = 0
 
content = ["ankit", "rahul", "priya", "harshita",
                    "sumit", "neeraj", "shivam"]
 
# iterating through content list
for item in content :
 
    # write operation perform
    worksheet.write(row, column, item)
 
    # incrementing the value of row by one
    # with each iterations.
    row += 1
     
workbook.close()


Output: 
 

  
Code #3 : Creating a new sheet with the specific name 
 

Python3




# import xlsxwriter module
import xlsxwriter
 
workbook = xlsxwriter.Workbook('Example3.xlsx')
 
# By default worksheet names in the spreadsheet will be
# Sheet1, Sheet2 etc., but we can also specify a name.
worksheet = workbook.add_worksheet("My sheet")
 
# Some data we want to write to the worksheet.
scores = (
    ['ankit', 1000],
    ['rahul',   100],
    ['priya'300],
    ['harshita',    50],
)
 
# Start from the first cell. Rows and
# columns are zero indexed.
row = 0
col = 0
 
# Iterate over the data and write it out row by row.
for name, score in (scores):
    worksheet.write(row, col, name)
    worksheet.write(row, col + 1, score)
    row += 1
 
workbook.close()


Output: 
 

output3

  
XlsxWriter has some advantages and disadvantages over the alternative Python modules for writing Excel files.
Advantages: 
 

  • It supports more Excel features than any of the alternative modules.
  • It has a high degree of fidelity with files produced by Excel. In most cases the files produced are 100% equivalent to files produced by Excel.
  • It has extensive documentation, example files and tests.
  • It is fast and can be configured to use very little memory even for very large output files.

Disadvantages: 
 

  • It cannot read or modify existing Excel XLSX files.

 



Last Updated : 18 Aug, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads