Kodları tekrar düzenledim. Listeler dediğim gibi benim DB den oluşturuluyor. Bunu doğrudan çalıştırabilirsiniz.
import xlsxwriter
import os
import datetime
genel_giderler_xls2 = [['11.2018', 750, 0, 0, 100, 0, 75, 0, 0, 0, 650, 0, 0, 0, 0, 0, 0, 320, 1895],
['12.2018', 0, 0, 0, 68, 0, 0, 0, 0, 0, 650, 130, 0, 0, 0, 0, 0, 175, 1023]]
baslik_gg = (" DÖNEM ", " KİRA ", " STOPAJ ", " MAAŞ ", "ELEKTRİK", " SU ", " ISINMA ", " TELEFON ", " MUHASEBE ", " VERGİ ",
" SGK ", "KIRTASİYE ", " YOL ", " YAKIT ", "KARGO\nNAKLİYE ", " MARKET ", " YEMEK ", "MUHTELİF\nGİDERLER ", " DÖNEM\n TUTARI ")
toplamlar = [750, 0, 0, 168, 0, 75, 0, 0, 0, 1300, 130, 0, 0, 0, 0, 0, 495, 2918]
an = datetime.datetime.now()
tt = datetime.datetime.strftime(an, '%d %B %Y')
def excele_genelgider():
# ---------- EXCEL e VERİ GÖNDERME GRUBU ---------
workbook = xlsxwriter.Workbook("geng.xlsx")
worksheet = workbook.add_worksheet()
saga = workbook.add_format({'align': 'right'})
bold = workbook.add_format({'bold': True, 'align': 'center', 'border': 1})
para = workbook.add_format({'num_format': '#,##0.00', 'border': 1})
basliktip = workbook.add_format({'bold': True, 'size': '16'})
renkmk = workbook.add_format({'border': 1})
altenter = workbook.add_format({'border': 1, 'bold': True, 'align': 'center'})
altenter.set_text_wrap()
tplsatiri = workbook.add_format({'num_format': '#,##0.00', 'border': 1, 'bold': True,
'align': 'center', 'align': 'vcenter', 'bg_color': '#cecece'})
renkmk.set_num_format('[Blue]#,##0.00;[Red]-#,##0.00;#,##0.00')
worksheet.set_column('A:I', 10) # Sütun genişlikleri
worksheet.set_column('F:F', 8)
worksheet.set_column('J:S', 9)
worksheet.set_column('M:M', 8)
worksheet.set_margins(left=0.4, right=0.3, top=0.7, bottom=0.4) # kenar boşlukları
# --------- Buraya kadar biçimlendiirme araçları -----------
for x, v in zip(range(len(genel_giderler_xls2)), genel_giderler_xls2):
xsutun = 0
for xveri in v:
worksheet.write(x + 2, xsutun, xveri, para)
xsutun += 1
xsutun = 0
worksheet.write(0, 0, "GENEL GİDER RAPORU", basliktip)
try:
worksheet.write(0, (len(v) - 1), tt, saga)
except UnboundLocalError:
print("UYARI", "Belirtilen tarih aralığıda rapor bulunmuyor.")
return
for bas in baslik_gg:
worksheet.write(1, baslik_gg.index(bas), bas, altenter)
for tops in toplamlar:
worksheet.write(len(genel_giderler_xls2) + 3, toplamlar.index(tops) + 1, tops, tplsatiri)
try:
workbook.close()
except PermissionError:
print("UYARI!", "Açık 'Excel' dosyasını kapatıp tekrar deneyin.")
os.startfile("geng.xlsx")
excele_genelgider()
bu nedense dışarda kaldı :))