Open a Workbook with XLWINGS without making it visible

邮差的信 提交于 2019-12-03 06:57:44

问题


I am starting to use XLWings (not that I like Excel, at all, but it is something I HAVE TO do). The thing is that I cannot find the way to make Python open a Workbook without showing it.

It seems the constructor for Workbooks in the old XLWings 0.6.4 was xlwings.Workbook, and one of the arguments was a flag 'app_visible' (see http://docs.xlwings.org/en/v0.6.4/api.html).

However, in the new v0.9.2 Workbook has been replaced by Book, and Book does not have any such flag (http://docs.xlwings.org/en/stable/api.html). The App object does have it, and I thought that was the way to go. So I coded:

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()

But, regretably, when

book = xw.Book(filename)

is executed the 'visible' attribute of app suddenly becomes True, and the book is shown. I do not know if this is a desired feature or an unexpected behaviour. Anyway, any ideas how should I do it?


回答1:


You could try 'with open', for example

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)


来源:https://stackoverflow.com/questions/38995281/open-a-workbook-with-xlwings-without-making-it-visible

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!