【问题标题】:xlwings issue using Python 3使用 Python 3 的 xlwings 问题
【发布时间】:2016-05-04 21:03:45
【问题描述】:

我正在制作一个类似于数据库的 python 3 程序,它将tkinter 条目保存到一个 excel 文件中。我真的很喜欢使用xlwings,所以请使用xlwings 找到解决方案。无论如何,这是问题:

from tkinter import *
import xlwings as xw    
def save() :
    entrylist = [entry1.get(), entry2.get(), entry3.get(), entry4.get(), entry5.get(), 
    entry6.get(), entry7.get(), entry8.get(), entry9.get()]

        if len(entrylist[i]) != 0 and entry2.get() == entry3.get():
            teller = int(xw.Range('M1').value) + 1

            for i in range(0,3):
                rowlist = ["A"+ str(teller), "B"+ str(teller), "C"+str(teller), "D"+str(teller)]
                rowcode = "\'"+ rowlist[i] + "\'"
                xw.Range(rowcode).value = entrylist[i]

        xw.Range('M1').value = teller
        wb.save('klantendatabase.xlsx')

现在的问题是下面这段代码是不允许的:

xw.Range(rowcode).value = entrylist[i]

仅允许这样(A1 是 excel 文件中的示例单元格编号)::

xw.Range('A1').value = entrylist[i]

有没有办法让xw.Range().value 接受一个变量?

【问题讨论】:

    标签: python python-3.x tkinter python-3.5 xlwings


    【解决方案1】:

    确保将您的服务设置为在 https 设置而不是 http 上运行。通常端口 8080 是最可靠的安全性。之后以调试模式运行您的代码并从您的源代码运行数据库差异。这应该处理所有日志消息。

    【讨论】:

    • 对不起,我不是这个意思。
    【解决方案2】:

    您不需要用引号将rowcode 括起来,它们已经是字符串。这有效:

    import xlwings as xw
    
    wb = xw.Workbook()
    rowcode = 'A1'
    xw.Range(rowcode).value = 'some value'
    

    虽然在您的情况下使用这样的索引可能更容易:xw.Range((i,j)).value

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 2018-03-24
      • 2017-12-01
      相关资源
      最近更新 更多