【发布时间】:2016-05-23 00:49:00
【问题描述】:
我是 python 的新手,我正在用 Tkinter 制作一个程序,它可以让我在另一个 excel 文件中写东西,而不必实际打开 Excel 文件。
在 tkinter 中,我添加了一个输入框,我必须写入一个值,以及一个按钮,该按钮将使用 xlsxwriter 将值写入 excel 格式中。
我试过了
name_entry = StringVar()
name_get = name_entry.get()
e1 = Entry(root, textvariable = name_entry)
b1 = Button(root, text = "Create")
e1.pack()
b1.bind("<Button-1>", create)
b1.pack()
函数'create'是
def create(event):
workbook = xlsxwriter.Workbook(0, "2016" + str(name_get))
worksheet = workbook.add_worksheet()
worksheet.write(0, 0, 'name')
worksheet.write(1, 0, str(name_get))
workbook.close
当我运行程序并在条目中写一些东西并按下 按钮(b1),它创建的excel文件只有'name'写在 row = 0 and column = 0,但是我没有我在row = 1 and column = 0的输入框中写的名字。另外,创建的文件名只会保存为“2016”,而不是“ 2016" + str(name_get),我在输入框中写的值。
除此之外,程序没有任何错误
如何将输入框中的值写入excel文件?
另外,是否可以在 xlsxwriter 中创建 excel 文件(例如 .csv 文件)的扩展名?
非常感谢您阅读我的问题,我非常感谢您的建议!
【问题讨论】:
-
Button有command=所以你不需要bind -
我不熟悉
xlsxwriter模块,但如果你尝试用str(type(name_get))替换str(name_get),你会得到在excel 表中打印的对象类型。这是有用的信息,您可以使用它来搜索更多信息。 -
你必须在函数中使用
name_entry.get()。name_get无法按预期工作 - 它只保留在开始时执行的name_entry.get()返回的值(当Entry为空时)
标签: python excel tkinter xlsxwriter