Saadiq
Saadiq

Reputation: 101

Issue Writing Data to Worksheets

I have a new excel sheet that I created and added around 12 worksheets to. I am trying t write data to these newly created sheets, however, it only allows me to write data till worksheet 8. After that, the remaining worksheets only have the headings I specified in the loop. Please note I have not included all the writing of data up until sheet 12 in the code below as it is redundant.

import os
import xlsxwriter
from datetime import datetime

report_date = datetime.today()

Workbook = xlsxwriter.Workbook("C:\\Users\SChogle\\Documents\\Python Projects\\Online Market Values1.xlsx")
Worksheet1 = Workbook.add_worksheet("xxx")
Worksheet2 = Workbook.add_worksheet("xxx")
Worksheet3 = Workbook.add_worksheet("xxx")
Worksheet4 = Workbook.add_worksheet("xxx")
Worksheet5 = Workbook.add_worksheet("xxx")
Worksheet6 = Workbook.add_worksheet("xxx")
Worksheet7 = Workbook.add_worksheet("xxx")
Worksheet8 = Workbook.add_worksheet("xxx")
Worksheet9 = Workbook.add_worksheet("xxx")
Worksheet10 = Workbook.add_worksheet("xxx")
Worksheet11 = Workbook.add_worksheet("xxx")
Worksheet12 = Workbook.add_worksheet("xxx")

for worksheet in Workbook.worksheets():
    worksheet.write('A1', "Fund")
    worksheet.write('B1', "AssetManager")
    worksheet.write('C1', "AssetManagerPortfolio")
    worksheet.write('D1', "ReportDate")
    worksheet.write('E1', "Currency")
    worksheet.write('F1', "NettMarketValue")
    worksheet.set_column('A:A', 30)
    worksheet.set_column('B:B', 30)
    worksheet.set_column('C:C', 30)
    worksheet.set_column('D:D', 30)
    worksheet.set_column('E:E', 30)
    worksheet.set_column('F:F', 30)


Worksheet1.write("A2", "xxxxx")
Worksheet1.write("A3", "xxxxx")
Worksheet1.write("A4", "xxxxx")
Worksheet1.write("A5", "xxxxx")
Worksheet1.write("B2", "xxxxx")

Worksheet2.write("A2", "xxxxx")
Worksheet2.write("A3", "xxxxx")
Worksheet2.write("A4", "xxxxx")
Worksheet2.write("A5", "xxxxx")
Worksheet2.write("B2", "xxxxx")

Worksheet3.write("A2", "xxxxx")
Worksheet3.write("A3", "xxxxx")
Worksheet3.write("A4", "xxxxx")
Worksheet3.write("A5", "xxxxx")
Worksheet3.write("B2", "xxxxx")

Worksheet4.write("A2", "xxxxx")
Worksheet4.write("A3", "xxxxx")
Worksheet4.write("A4", "xxxxx")
Worksheet4.write("A5", "xxxxx")
Worksheet4.write("B2", "xxxxx")

Worksheet5.write("A2", "xxxxx")
Worksheet5.write("A3", "xxxxx")
Worksheet5.write("A4", "xxxxx")
Worksheet5.write("A5", "xxxxx")
Worksheet5.write("B2", "xxxxx")

Worksheet6.write("A2", "xxxxx")
Worksheet6.write("A3", "xxxxx")
Worksheet6.write("A4", "xxxxx")
Worksheet6.write("A5", "xxxxx")
Worksheet6.write("B2", "xxxxx")

Worksheet7.write("A2", "xxxxx")
Worksheet7.write("A3", "xxxxx")
Worksheet7.write("A4", "xxxxx")
Worksheet7.write("A5", "xxxxx")
Worksheet7.write("B2", "xxxxx")

Worksheet8.write("A2", "xxxxx")
Worksheet8.write("A3", "xxxxx")
Worksheet8.write("A4", "xxxxx")
Worksheet8.write("A5", "xxxxx")
Worksheet8.write("B2", "xxxxx")
Worksheet8.write("A2", "xxxxx")
Worksheet8.write("A3", "xxxxx")
Worksheet8.write("A4", "xxxxx")
Worksheet8.write("B2", "xxxxx")
Worksheet8.write("B3", "xxxxx")

Workbook.close()

Worksheet9.write("A2", "xxxxx")
Worksheet9.write("A3", "xxxxx")
Worksheet9.write("A4", "xxxxx")
Worksheet9.write("A5", "xxxxx")
Worksheet9.write("B2", "xxxxx")

Workbook.close()

file = "C:\\Users\SChogle\\Documents\\Python Projects\\Online Market Values1.xlsx"
os.startfile(file)

Upvotes: 0

Views: 136

Answers (2)

davidlowryduda
davidlowryduda

Reputation: 2559

It's due to this line:

# worksheet 8 things

Workbook.close()

# worksheet 9 things

You close the workbook, and then try to use it. If you remove this line, it will work.

Upvotes: 2

Nordle
Nordle

Reputation: 3001

It's because you close the workbook after writing to Worksheet8. Remove the Workbook.close() before writing to Worksheet9 and it should work.

Upvotes: 2

Related Questions