tkinter中用label设立了三个输入框,第一个是文字,第二个是数字,第三个是下拉列表,需要将第一个输入框内容以文字、第二个输入框内容以数字、第三个输入框内容为文字写入到指定的excel的指定单元格中
时间: 2024-06-11 09:08:02 浏览: 144
Tkinter基本入门文字教程(详细介绍Tkinter各项例程)
可以使用openpyxl库来实现将内容写入到指定的excel单元格中。
首先需要安装openpyxl库,可以使用以下命令安装:
```
pip install openpyxl
```
然后在代码中导入openpyxl库:
```python
import openpyxl
```
接下来,可以使用openpyxl库中的load_workbook函数来打开指定的excel文件,然后使用active属性获取当前活动的工作表,使用cell函数来写入数据:
```python
# 打开excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 获取当前活动的工作表
sheet = wb.active
# 将第一个输入框内容以文字的形式写入到指定单元格中
sheet.cell(row=1, column=1, value=first_input_box_text)
# 将第二个输入框内容以数字的形式写入到指定单元格中
sheet.cell(row=2, column=1, value=int(second_input_box_text))
# 将第三个输入框内容以文字的形式写入到指定单元格中
sheet.cell(row=3, column=1, value=third_input_box_text)
# 保存修改后的excel文件
wb.save('example.xlsx')
```
其中,row和column参数指定要写入的单元格的行和列,value参数指定要写入的内容。注意,第二个输入框的内容需要使用int函数将其转换为整数类型。在保存修改后的excel文件时,需要使用save函数。
完整代码示例:
```python
import tkinter as tk
import openpyxl
def write_to_excel():
# 获取输入框的内容
first_input_box_text = first_input_box.get()
second_input_box_text = second_input_box.get()
third_input_box_text = third_input_box.get()
# 打开excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 获取当前活动的工作表
sheet = wb.active
# 将第一个输入框内容以文字的形式写入到指定单元格中
sheet.cell(row=1, column=1, value=first_input_box_text)
# 将第二个输入框内容以数字的形式写入到指定单元格中
sheet.cell(row=2, column=1, value=int(second_input_box_text))
# 将第三个输入框内容以文字的形式写入到指定单元格中
sheet.cell(row=3, column=1, value=third_input_box_text)
# 保存修改后的excel文件
wb.save('example.xlsx')
# 提示写入成功
result_label.configure(text='写入成功!')
# 创建窗口
window = tk.Tk()
window.title('写入Excel示例')
# 创建标签和输入框
first_label = tk.Label(window, text='文字:')
first_label.grid(row=0, column=0)
first_input_box = tk.Entry(window)
first_input_box.grid(row=0, column=1)
second_label = tk.Label(window, text='数字:')
second_label.grid(row=1, column=0)
second_input_box = tk.Entry(window)
second_input_box.grid(row=1, column=1)
third_label = tk.Label(window, text='下拉列表:')
third_label.grid(row=2, column=0)
options = ['选项1', '选项2', '选项3']
third_input_box = tk.StringVar()
third_input_box.set(options[0])
third_dropdown = tk.OptionMenu(window, third_input_box, *options)
third_dropdown.grid(row=2, column=1)
# 创建按钮
submit_button = tk.Button(window, text='写入Excel', command=write_to_excel)
submit_button.grid(row=3, column=1)
# 创建结果标签
result_label = tk.Label(window, text='')
result_label.grid(row=4, column=1)
# 运行窗口
window.mainloop()
```
阅读全文