python导出数据到excel不同的工作表_如何将用户输入(从python)导出到excel工作表?...

1586010002-jmsa.png

I am trying to develop a user form in python 2.7.3. Please note that I am a python beginner.

How to export user inputs (from python) to excel worksheet?

Thanks

解决方案

For writing your form, you may want to use Tk - it's built into Python (import Tkinter).

For exporting to Excel, there are several options:

write your data to a .csv file (import csv) then load it with Excel

use a module to write to an .xls file

use .COM automation to "remote-control" Excel

Edit: ok, here's a more specific answer using Tkinter and xlwt:

import Tkinter as tk

import xlwt

from xlwt.Utils import cell_to_rowcol2

class MyForm(tk.Frame):

def __init__(self, master=None, cnf={}, **kw):

tk.Frame.__init__(self, master, cnf, **kw)

self.fname = tk.StringVar(value="myfile.xls")

self.sheet = tk.StringVar(value="sheet1")

self.cell = tk.StringVar(value="x1")

self.value = tk.StringVar(value="1234")

tk.Label(master, text="File").grid(row=0, column=0, sticky=tk.E)

tk.Entry(master, textvariable=self.fname).grid(row=0, column=1, padx=4, pady=4)

tk.Label(master, text="Sheet").grid(row=1, column=0, sticky=tk.E)

tk.Entry(master, textvariable=self.sheet).grid(row=1, column=1, padx=4, pady=4)

tk.Label(master, text="Cell").grid(row=2, column=0, sticky=tk.E)

tk.Entry(master, textvariable=self.cell).grid(row=2, column=1, padx=4, pady=4)

tk.Label(master, text="Value").grid(row=3, column=0, sticky=tk.E)

tk.Entry(master, textvariable=self.value).grid(row=3, column=1, padx=4, pady=4)

go = tk.Button(master, text="Do it!", command=self.write_to_xls).grid(row=4, column=1, padx=4, pady=4, sticky=tk.W)

self.grid()

def write_to_xls(self):

# create new workbook

wb = xlwt.Workbook()

# add sheet using given name

ws = wb.add_sheet(self.sheet.get())

# get offset of cell to write to

row,col = cell_to_rowcol2(self.cell.get())

# write text to cell

ws.write(row, col, self.value.get())

# save to given file name

wb.save(self.fname.get())

def main():

master = tk.Tk()

myform = MyForm(master)

tk.mainloop()

if __name__=="__main__":

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值