Xlwings - 引用保存的范围并附加附加值

Xlwings - Referencing saved range and appending additional values

我是一个非常缺乏经验的程序员,一直在尝试在 Xlwings 中练习一些基础知识,Xlwings 是一个与 Excel 一起工作的 Python 库。我在 2.7 中工作。

我制作了一个带有 GUI 的小程序,允许您简单地在 Excel 中的列中添加条目。我在尝试我的程序时立即注意到它会覆盖列中先前保存的值。我完全迷失了找出一个可行的解决方案,即如何从一个包含范围的列表开始,然后继续附加到它。

from Tkinter import *
from xlwings import Workbook, Range

root = Tk()
wb = Workbook()

e1 = Entry()
e1.grid(row=1, column=2)

participant_list = [] 
"""I realize starting with an empty list will clear the range every time I
run the script, but am not sure what the correct solution should be."""

def pressed_button():

    entry = e1.get()
    e1.delete(0, END) # clear the entry widget
    temp = []
    temp.append(entry)
    participant_list.append(temp)
    Range('A1').value = participant_list
    print participant_list # just to test

b1 = Button(text="Add Participant", command=pressed_button)
b1.grid(row=2, column=2)

mainloop()

如能帮助我解决问题,我将不胜感激!我尝试了一些不同的东西,但我不好意思把它们放在我的演示代码中哈。

根据您要执行的操作,您可以先读入数据并将其分配给 participant_list,或者您可以找出该列中最后使用的单元格:例如如果没有空行,比如

rng = Range('A1').vertical.last_cell
...
Range((rng.row + 1, rng.column)).value = participant_list

可以工作。