I am trying to write an XLSX file using the openpyxl module. I am using the append()
method to insert the values row by row. But I want to insert the values cell by cell instead. I would also like to format the cell (font, colour, alignment etc). Please help me.
Asked
Active
Viewed 4,598 times
1

Mike Pennington
- 41,899
- 19
- 136
- 174

Onkar Mitragotri
- 11
- 1
- 2
-
4Please explain things that you need to do, step by step. Also show what code you've written so far. – shahkalpesh Apr 29 '11 at 07:51
-
The answer of this question [http://stackoverflow.com/questions/8440284/setting-styles-in-openpyxl] has everything you need regarding cell formatting. – mike Aug 01 '13 at 09:19
1 Answers
6
You can set all that cell by cell (if that is what you need) using openpyxl. Here is a small example which sets the value, name (named_range) and some style of cells in a workbook:
from openpyxl.workbook import Workbook
wb = Workbook()
dest_filename = r'empty_book.xlsx'
ws = wb.worksheets[0]
name = 'name'
for col_idx in xrange(1, 101):
col = get_column_letter(col_idx)
for row in xrange(1, 1001):
ws.cell('%s%s'%(col, row)).value = '%s%s' % (col, row)
ws.cell('%s%s'%(col, row)).style.fill.fill_type = 'solid'
ws.cell('%s%s'%(col, row)).style.fill.start_color.index = openpyxl.style.Color.DARKYELLOW
wb.create_named_range(name+str(i), ws, '%s%s'%(col, row))
wb.save(filename = dest_filename)
Look up the Style class in the openpyxl documentation to learn more about how to set individual formattings.

Aron Kisdi
- 544
- 4
- 8