4 votos

Archivo de Excel crecimiento enorme (>150 MB)

Hay uno en particular archivo de Excel que es utilizado por un número de empleados en mi empresa. Es editada desde Excel 2003 y 2007, con el "Compartir" característica activada para permitir que varios escritores a la vez.

El archivo tiene una cantidad decente de datos en varias hojas con formatos básicos, y acerca de 6MB, lo que parece razonable para su contenido. Pero después de un par de semanas de su edición, el archivo aumentó a 10, luego 20 MB, y, finalmente, se disparó a más de 150 MB, aunque todavía tiene aproximadamente la misma cantidad de datos como antes. Ahora tarda de 5 a 10 minutos para abrirlo, y que mucho tiempo de nuevo para guardarlo.

La primera vez que esto sucedió, he copiado el contenido de cada hoja en un nuevo libro en blanco, y se guarda el libro de trabajo nuevo; esto trajo abajo a cerca de 6 MB. Ahora, ha volado de nuevo.

El libro usa la "Validación de Datos" para limitar los valores en ciertas columnas para el contenido de un par de rangos con nombre. Copiar todos los datos en un libro nuevo, significa re-configuración de la seguridad de todos los datos de validación, que es un dolor y no es algo que queremos hacer cada mes.

Como un paso de solución de problemas, he intentado guardar el archivo en la "Hoja de cálculo XML 2003" formato, con la esperanza de obtener una idea de lo que había almacenado. Efectivamente, el archivo fue casi un concierto, y casi todos de los 10 millones de líneas de tener este aspecto:

<NamedCell ss:Name="Z_21D5114F_E50C_46AC_AA4F_C3FF540C717F_.wvu.FilterData"/>
<NamedCell ss:Name="Z_1EE2BA5E_3011_4F9A_8ACD_E58835250FC4_.wvu.FilterData"/>
<NamedCell ss:Name="Z_1E3BDCEA_6A72_4ECC_BF4F_7B03CC66181E_.wvu.FilterData"/>

Yo he visto un par de VBScripts online para gestionar y enumerar los nombres de las celdas que están ocultos en Excel integrada en la interfaz, aunque me pregunto cómo se había manejar mi 10 millones de nombres de las celdas. Lo que realmente necesita, sin embargo, es una comprensión de por qué esto sigue ocurriendo. ¿Qué acciones en excel que podría estar causando esto?

ACTUALIZACIÓN:

He aquí un experimento que he intentado que proporciona algo más de detalle:

  • He desactivado el uso compartido; el archivo seguía siendo enorme.
  • He guardado el archivo como un .xlsx, y se redujo a 5 mb.
  • Luego cerré el archivo, y la abrió de nuevo, y guardarlo como un .archivo xls, con compartir aún desactivado; lo consiguió enormes de nuevo!
  • Cuando un '03 usuario intenta abrir que bonito, compacto .xlsx, tarda varios minutos para abrirlo, a pesar de que '07 abre bien.

Así, este parece ser un '03 tema específico, y guardar el archivo en '03 formato de inmediato se recreó un montón de basura que claramente no había sido en el '07 archivo.

12voto

Satanicpuppy Puntos 4902

Diga conmigo: Excel no es una base de datos.

Usted está corriendo en contra de las limitaciones de diseño del software: sólo tiene tanta capacidad para almacenar datos transaccionales, así que cuando varias personas están escribiendo en ella, se tiene que almacenar un frickton de la información con el fin de conciliar. Tienes mucha información en ella, que la transaccional copias son ENORMES.

Microsoft se supone (correctamente) que si tiene esa cantidad de datos, que se almacenan en una base de datos, y usted está utilizando Excel como un front-end.

Si usted va a trabajar como que, al menos debe golpear juntos un poco de base de datos de Access. Va a salvar a un mundo de dolor de cabeza, porque se supone que funcione así y Excel simplemente no es.

@Josh: Sí, es absolutamente fuga. Cuando se comparte un documento, se ha de seguir la pista de las modificaciones realizadas por cada usuario...voy a llamar a este "datos transaccionales", pero sólo puede pensar en ella como la historia. Dado que no hay nunca una versión "oficial", se mantiene el seguimiento de los cambios, y el documento se recarga más rápido que Kirstie Alley en un donut shop.

Es por diseño. Alguien que es un excel guru puede ser capaz de decirle cómo hacer que se detenga, pero la mejor solución es no usar excel para los datos que se mantiene constantemente. No es realmente lo que está diseñado para.

Estoy de acuerdo a tu problema, pero es una mejor solución para explicar el problema a los mandos superiores y el trabajo de un nuevo procedimiento, que es para intentar prolongar un desafortunado hack.

@Josh: Si sólo desea reducir una vez, temporalmente, copiar todos los datos, y pegarla en una nueva hoja de cálculo. QUE va a matar a todos los metadatos, garantizada (asegúrese de no seleccionar la hoja entera, pero sólo la parte con los datos en él), Pero esta es una solución temporal en el mejor.

2voto

ane Puntos 116

Parece que está corriendo en una de Vistas Personalizadas problema. Ver:

¿Cómo puedo quitar el _#wvu#FilterData cosas ?
http://www.tech-archive.net/Archive/Excel/microsoft.public.excel/2006-12/msg00704.html

¿Cómo puedo desactivar las Vistas Personalizadas? (se desplaza)
http://www.eggheadcafe.com/software/aspnet/30197438/how-do-i-disable-custom-v.aspx

1voto

Matthew Puntos 169

Para una rápida solución temporal, puede desactivar el uso compartido y guardar el archivo para ver si se tiran el equipaje extra? Para una mejor solución que usted necesita para convertir esto en una base de datos. Si usted no tiene el tiempo y la experiencia para crear la base de datos has mirado en Google hoja de cálculo? Ellos simplemente se reescribió para una mejor multiusuario simultáneo de edición.

0voto

bigmattyh Puntos 9167

Usted también puede desear mirar en hacer un "Guardar Como..." del menú Archivo.

Excel, junto con la Palabra y otros miembros de la Oficina, guarda historial de deshacer en el archivo por un LARGO tiempo.

Así, hacer un "Guardar Como..", elegir un nuevo nombre de archivo y, a continuación, compare los dos archivos por tamaño. Si el nuevo se ha reducido como espero, se mueven a lo largo de los años, y que van en el buen camino.

Otros comentaristas son correctos, sin embargo, cuando señalan que el Excel es no una base de datos. Sí, puede funcionar como uno, y es bueno en ello para pequeños conjuntos de datos. Pero para lo que usted describe, es necesario migrar a una nueva solución.

Información adicional:
Cualquier cálculo, el formato, y cualquier otro tipo de "hacer esto _" añadir a la sobrecarga de almacenamiento. Un 1 MB hoja crece rápidamente hasta 100MB si un número de este tipo de cosas están asociados con el libro.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: