簡體   English   中英

使用Python 3的xlwings問題

[英]xlwings issue using Python 3

我正在做一個數據庫式的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成為變量?

確保將服務設置為在https設置而非http上運行。 通常,端口8080對於安全性最為可靠。 之后,以調試模式運行代碼,然后從源代碼運行數據庫diff。 這應該處理所有日志消息。

您不需要用引號將行rowcode包裝起來,因為它們已經是字符串了。 這有效:

import xlwings as xw

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

盡管在您的情況下使用這樣的索引可能會更容易: xw.Range((i,j)).value

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM