excel 使用XLWINGS打开工作簿但不使其可见

nhaq1z21  于 2023-03-09  发布在  其他
关注(0)|答案(5)|浏览(364)

我开始使用XLWings(不是说我喜欢Excel,但这是我必须要做的事情),问题是我找不到让Python打开一个工作簿而不显示它的方法。
在旧的XLWings 0.6.4中,Workbook的构造函数似乎是xlwings.Workbook,其中一个参数是标志“app_visible”(参见http://docs.xlwings.org/en/v0.6.4/api.html)。
然而,在新的v0.9.2中,Workbook已经被Book取代,Book没有任何这样的标志(http://docs.xlwings.org/en/stable/api.html)。App对象有它,我认为这是应该做的。所以我编写了:

import xlwings as xw

app = xw.App(visible=False)
filename = os.path.join(PATH_EXCEL_SAMPLES, r"rangosConDatos_sample01.xls")
book = xw.Book(filename)
# Do stuff with the info in the book
book.close()  # Ya puedo cerrar el libro.
app.kill()

但遗憾的是

book = xw.Book(filename)

执行时,应用程序的“visible”属性突然变为True,并显示图书。我不知道这是一个期望的功能还是一个意外的行为。无论如何,有什么想法我应该如何做?

xnifntxz

xnifntxz1#

下面是我的工作代码片段:

import xlwings

    excel_app = xlwings.App(visible=False)
    excel_book = excel_app.books.open('PATH_TO_YOUR_XLSX_FILE')
    excel_book.save()
    excel_book.close()
    excel_app.quit()
xzv2uavs

xzv2uavs2#

从0.24.3版本开始,实现了with xw.App():,惯用方法是:

import xlwings as xw

with xw.App(visible=False) as app:
    wb = xw.Book("test.xlsx")

    # Do some stuff e.g.
    wb.sheets[0]["A1"].value = 12345

    wb.save("test.xlsx")
    wb.close()

这样做的好处是,如果您使用了一个隐藏的示例并且代码失败了,后台不会留下任何隐藏的excel进程。

aydmsdu9

aydmsdu93#

您也可以尝试:

import xlwings as xw

app = xw.App(visible=False)
book = xw.Book('PATH_TO_YOUR_XLSX_FILE')
sheet = book.sheets('sheetname')
df = sheet.range('A1:D10')
book.close()
app.quit()

纠正排印错误数量

rqdpfwrv

rqdpfwrv4#

例如,您可以尝试“with open

with open ("write.csv", "a", newline='') as file:  
    fields=['score', 'name']                       
    writer=csv.DictWriter(file, fieldnames=fields)
    writer.writerow({'score' : score, 'name' : username})

with open ("write.csv", "r") as file:
    sortlist=[]
    reader=csv.reader(file)
    for i in reader:
        sortlist.append(i)
gj3fmq9x

gj3fmq9x5#

这对我很有效:

import xlwings as xw

app = xw.App(visible=False)
readsheet = xw.Book('FILE_PATH').sheets['Sheet1']
df = pd.DataFrame(readsheet.range('A1', 'Z99').value)

相关问题