es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Formateando la vista de salida de xlwings.

Estoy utilizando xlwings para escribir un dataframe en una hoja de Excel. Nada especial, y todo funciona perfectamente.

Mi problema es que la hoja de Excel resultante tiene filtros en las dos primeras filas, que tengo que desactivar manualmente (seleccionando las filas y borrando su contenido).

Gracias a https://github.com/xlwings/xlwings/issues/679#issuecomment-369138719

Cambié mi código al siguiente:

abook = xw.books.active
xw.view(
dataframe,
abook.sheets.add(after = abook.sheets[-1]),
table=True
)
sheetname = abook.active.name
if wb.sheets[sheetname].api.AutoFilterMode == True:
wb.sheets[sheetname].api.AutoFilterMode = False

lo cual parecía prometedor, pero no resolvió mi problema.

Agradecería cualquier consejo sobre cómo puedo tener los filtros desactivados de forma predeterminada. Estoy utilizando la última versión de xlwings en win 10, 11.

Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para desactivar los filtros de forma predeterminada, puedes modificar el código de la siguiente manera:

    abook = xw.books.active
    sheet = abook.sheets.add(after = abook.sheets[-1])
    xw.view(
        dataframe,
        sheet,
        table=True
    )
    sheetname = sheet.name
    sheet.api.AutoFilterMode = False
    

    Este código crea una variable para la nueva hoja agregada, desactiva el modo de autofiltro para esa hoja y asigna el nombre de la hoja a una variable que se puede usar más tarde si es necesario. Esto debería asegurar que los filtros estén desactivados de forma predeterminada cuando el marco de datos se escriba en la hoja.

Comments are closed.