Ttk treeview to excel

arkadaşlar treeview üzerinden çıkan sonuçları excel’e nasıl döökümente edebilirim…

Fikri olan var mı?

Sizinle bir örnek paylaşayım, bunu biraz inceleyin isterseniz.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import xlwt
import tkinter as tk
from tkinter.ttk import Treeview

master = tk.Tk()

# Treeview'de kullanılacak sütunları tanımlayalım.
sutunlar = ["İsim", "Soy İsim"]

# Sütunlara eklenecek verileri tanımlayalım.
veriler = [
    ["Ali", "Aslan",],
    ["Veli", "Çalışkan"]
]

# Treeview'i oluşturalım.
treeview = Treeview(master=master, show="headings", columns=[f"#{i + 1}" for i in range(len(sutunlar))])
for i, j in enumerate(sutunlar):
    treeview.heading(f"#{i + 1}", text=j)
treeview.pack()

# Treeview'e verileri ekleyelim.
num = 0

for i in veriler:
    treeview.insert("", num, values=[k for k in i])
    num += 1

# Şimdi excel tablosuna bu treeview'deki verileri eklemek için
# bir düğme tanımlayalım.

button = tk.Button(master=master, text="Excel'e Ekle")
button.pack()


# Düğmenin komutunu tanımlayalım.
def command():
    excel_dosyasi = xlwt.Workbook()
    excel_sayfasi = excel_dosyasi.add_sheet("Sayfa1")
    for i, j in enumerate(treeview.get_children()):
        # Sütun isimlerini ekleyelim.
        excel_sayfasi.write(0, i, treeview.heading(i)["text"])
        # Değerleri alalım.
        values = treeview.item(j)["values"]
        # Her bir satırın verilerine göre ekleme işlemi yapılacak.
        for k, m in enumerate(values):
            excel_sayfasi.write(i + 1, k, m)
    # Excel dosyasını kaydedelim.
    excel_dosyasi.save("test.xlsx")


button.configure(command=command)
master.mainloop()

Cevabınız için teşekkür ederim…Soeuun çözümüyle alaklı ‘xlsxwriter’ modülünü kullanmaya karar verdim
yalnız name ‘xlsxwriter’ is not defined hatası alıyorumm

Burdan write_column ile işi bağlarım diye düşündüm

Ben genellike xlwt modülünü kullanıyorum, siz bilirsiniz.

oradan da write_column kullanamıyorum

write() fonksiyonunu kullanacaksınız, isterseniz yukarıdakı örneğe bakın.

write yazınca da sütun olarak yazmıyor…tek değer halinde yazıyor…direk write_column demem lazım

Bu fonksiyonla istediğiniz sütun ve satıra yazı yazabilirsiniz.
write(satir, sütun, değer)

sheet.write(1,0,[3,6,1]) yazıyorummm
yalnız
Unexpected data type <class ‘int’> hatası veriyor

[3,6,1] şeklinde yazamazsınız işte.
Eğer bunlar aynı satırdaki ardışık sütunlara yazılacaksa şöyle deneyin:

for i, j in enumerate([3, 6, 1]):
    sheet.write(1, i, j)

Kardeşim Allah Razı olsun…uzun zamandır gayret ettiğim mesele halloldu…Teşekkür ederim

Saveasfiledialog ile nasıl yapabilirim?