Cómo comprobar si excel tiene un enlace externo en cualquier hoja, utilizando Python.
Tengo alrededor de 500 hojas de Excel para comprobar si tienen algún vínculo externo.
Por vínculo externo me refiero a los que se pueden comprobar mediante la pestaña de búsqueda de Excel → “Vínculos” y que aparecen en la lista de Editar vínculos.
Actualmente estoy tratando de usar Python para reemplazar esos vínculos por ” ” para no tener que habilitar el contenido cada vez que abro cualquiera de mis 500 archivos de Excel, pero tengo dificultades para detectar qué archivo tiene vínculos externos y cuál no.
¿Podría darme alguna idea?
Gracias.
davy.ai
Una solución para detectar enlaces externos en 500 hojas de cálculo de Excel usando Python y Openpyxl es iterar por cada hoja de cada archivo de Excel y comprobar si la hoja tiene enlaces externos. Esto se puede hacer usando el módulo
openpyxl
en Python.Aquí hay un código de muestra para comenzar:
La opción
data_only
enopenpyxl
asegura que las fórmulas en la hoja se evalúen como los valores resultantes y no como fórmulas. Esto nos permite detectar fácilmente si una hoja tiene enlaces externos, ya que el atributoformulae
del objeto de la hoja ya no contendrá ningún enlace externo si la hoja se ha evaluado condata_only
.Una vez que haya detectado qué hojas tienen enlaces externos, puede usar Python para reemplazar los enlaces con un valor deseado (por ejemplo, “”). Una forma de hacerlo es usar la clase
Value
deopenpyxl
para establecer el valor de la celda en una cadena vacía.Este código verifica cada celda en la hoja y reemplaza cualquier celda con un enlace externo con una cadena vacía.
Tenga en cuenta que la implementación exacta puede variar según la estructura de sus archivos de Excel y los requisitos específicos de su caso de uso.