Méret. Súly. Hangerő. Nem számít, hogy hívjuk. Ha egy fájl túl nehéz, akkor túl nagy lesz, ez problémát jelent. Nem tudjuk elküldeni e-mailben, hosszú időbe telik a betöltés és a mentés. Különösen idegesítő a biztonsági másolatok készítésekor, mivel ez néhány másodpercet vesz igénybe, amikor agyunk a termelékenységre gondolt.
A történelem
A minap Quique barátom elmondta, hogy túl nagy méretű aktát kapott. Amikor alkotója az ő korában generálta, kevesebb mint 1 MB-ot foglalt el, de most majdnem 50 Mb-ot. Mi történt? A telefonon kommentálva néhány gyakori gyanúsítottat célozunk meg:
- Van-e adat az adatmodellben?
- Van-e sok alakzat (pl. Üres szövegdoboz) a lapokon?
És hogyan történik ez? Kezdjük a szedéssel és a lapáttal.
Információ az adatmodellről
Az adatmodell olyan információ, amely szerepelhet a fájlban, de nincs egyetlen lapon sem. Ez mögött van, és ennek az információnak a megtekintéséhez dinamikus táblákon keresztül kell kapcsolódnia, vagy az adatmodell-kezelőn keresztül közvetlenül a modellben kell dolgoznia.
Néha ezeket az adatokat nem veszik észre, mert az adatmodell-kezelő csak az Excel 2013-as verziójától érhető el. Ezért a korábbi verziókban nem biztos, hogy könnyen megtalálható.
Bár az adatmodell nagyon hatékony, rengeteg információt képes tárolni, így sok helyet foglalhat el, nagyon nagy fájlokat generálva. Hogy megtudjam, van-e információ az adatmodellben, eszembe jut, hogy két dolgot tehetünk:
1. Helyezzen be egy forgatótáblát. Beillesztéskor létrejön egy párbeszédablak, amely lehetővé teszi az adatmodell kiválasztását a táblázat forrásaként, ha van ilyen. Ha az adatmodell opciót nem lehet ellenőrizni, az azért van, mert nincs semmi.
2. Közvetlen hozzáférés az adatmodell adminisztrátorához. Ez a 2016-os verzióban megtehető az Adatok fülön, az „Adateszközök” csoportban. A korábbi verziókban a Power Pivot fülön keresztül, amelyet egyes verziókban telepíteni kell.
Power Pivot fül Adatok fül
Esetünkben az aktának nem volt adatmodellje, ezért a lista következő gyanúsítottjához léptünk.
Rejtett (vagy látható) alakzatok
Néha találtam egy fájlt, amely nagyon lassan működött, túl nagy méretű, sok megabájtot elfoglalva. Hosszas keresgélés után azt tapasztaltam, hogy szó szerint több ezer üres szövegdoboz található egy lapon. De ez ... honnan tudod?
Nos, többféleképpen lehet. Az egyik "szemmel". A táblázaton szokásos egér ikon egy kereszt. Ha van szövegmezőnk, és ráhelyezzük a kurzort, akkor azt kapjuk, hogy egy ikon, amely úgy néz ki, mint egy nagybetű (mint a Wordben). Jobb, ha egy képen látjuk.
Ezt általában látja az Excelben:
Szokásos ikon az Excelben
Itt találja meg, hogy vannak-e "betolakodók":
Ikon, ha van szövegmező
Ugyanígy, ha van alakzat vagy más dolog, akkor az ikon nyíl lesz. Ha az alternatív kurzorral kattintunk, akkor barátunk láthatóvá válik:
Látható szövegdoboz
Ha az Excel 2007-nél későbbi verzióval rendelkezik (van, igaz?), Akkor az objektumainkat más módon is láthatóvá tehetjük: a választópanelen keresztül. Ez megtalálható a 2016-os verzióban a szalag "Oldalelrendezés" alatt, a "rendezés" panelen. A korábbi verziókban ki kell választanunk egy objektumot, és a kiválasztó panel aktiválásához szükséges gomb a "Rajzeszközök" vagy a "Grafikai eszközök" fülön található. A panel jobb oldalon jelenik meg, és ott van egy lista az összes objektumról a lapon.
Ha van valami, akkor ott is lesz.
Kiválasztó ablaktábla - Excel 2016 Kiválasztó ablaktábla a 2016 előtti verziókban
Mint láthatja, néhány copy-paste segítségével több mint 33 000 példányt készítettem ugyanabból az üres szövegmezőből. A keretek generálása exponenciális, ezért gyorsan eléri a túlzott mennyiségeket, ha nem vesszük észre. A probléma most az, hogy törölje mindet. 33 000-szer adná meg a törlés kulcsot? Én nem. Erre ismerem a VBA-t. Nagyjából ilyen kódot tennék:
Így kiküszöbölöm az összes alakzatot (szövegdobozok, de képek, alakzatok stb.) Is, amelyek a lapon vannak.
Azonban barátunk aktájában sem ez volt a probléma. A kiválasztó panel üres volt, így tovább néztem.
Feltételes formátumok, cellaformátumok, színek ...
A lapnak sokféle formátuma volt. Feltételek, cellahátterek, minták, háttér és szöveg színei ... Megpróbáltam ezt módosítani, mert valaminek lennie kellett. Egyszerűen kijelöltem a teljes lapot, nem tettem háttérszínt, vonalakat, mintákat, nem alkalmaztam és mentettem ... És a fájl mérete gyakorlatilag azonos volt. Az nem volt.
Arra gondoltam, hogyan lehetne megtudni, hogy pontosan mi foglalja el a lemezterületet ... És természetesen volt megoldás.
Tekintse meg egy .xlsx fájl belét
Amióta a Microsoft elfogadta az .xlsx szabványt, az Excel fájlokat xml strukturált fájlokká konvertálta. Ez azt jelenti, hogy sokféleképpen olvasható, és hogy sokféle program megérti a felépítést. Érdekes módon az Excel saját xml-importőre hibát ad nekünk. És miért van ez?
Egyszerűen azért, mert az Excel nem menti közvetlenül a fájlt xml formátumban, hanem tömöríti is zip formátumban, így kevesebb helyet foglal el. Tehát ... Mi van, ha megpróbáljuk megváltoztatni a fájlkiterjesztést és megnyitni egy kompresszorral?
A fájlkiterjesztés módosításának előző lépései
Feltételezem, hogy mindannyian tudjuk, hogyan lehet a kiterjesztést fájlra váltani, de mondjuk mégis, hogyan kell csinálni. Ha már tudja, hogyan kell csinálni, akkor gond nélkül folytathatja a következő címet.
Az első dolog a Windows Intéző ablak megnyitása. Ezt gyorsan megteheti a Windows + E billentyűk lenyomásával.
Kombináció a Windows Intéző megnyitásához
Megnyílik a Windows Intéző ablaka a „Sajátgép” részben. Itt a "Nézet" panelt választjuk, és az egész jobb oldalán található az Opciók gomb, ahol a "Mappa és keresési beállítások módosítása" gombra kattintunk.
A mappa beállításainak módosítása
Megnyílik egy ablak, ahol kiválasztjuk a "Nézet" fület, majd görgessünk lefelé, amíg meg nem találjuk a "Fájlkiterjesztések elrejtése az ismert fájltípusokhoz" lehetőséget. A négyzetet be kell hagynunk bejelöletlenül, és kattintson az OK gombra.
Fájlkiterjesztés megjelenítése.
Most megváltoztatjuk a fájlkiterjesztést
Miután ez megtörtént, megyünk az .xlsx fájlunkra és átnevezzük. Az .xlsx-t kicseréljük .zip-re, és elfogadjuk az összes Windows-üzenetet.
Fájlkiterjesztés módosítása.
Mint látható, először készítettem egy másolatot az eredeti .xlsx megőrzése érdekében (nos, esetünkben ez egy .xlsm volt, mert makrói voltak). És most bármilyen kompresszorban megnyithatjuk az új .zip fájlt. Esetemben a WinRar telepítve van, de bárki érvényes, aki megnyitja a .zip fájlt, még maga a Windows Explorer is.
Megnyitásakor megjelenik egy mappa és fájlstruktúra. Kiderült, hogy .xlsx fájlunk valójában egy csomó tömörített XML fájl és mappa. Navigálhatunk a mappákban, hogy megnézzük, mi foglal helyet ... Sajátos esetünkben az 'xl' mappát, a 'munkalapok' mappába beléptem. Méret szerint rendezve már tudjuk, melyik lap a tettes:
Excel fájl nézet a WinRar segítségével.
És ott vannak velük! A tettesek az iratunk 5. és 4. lapjai.
Annak megértése, hogy melyik lapra hivatkozik ...
Az történik, hogy a fájlunkban a lapokat nem nevezzük „sheet5” -nek vagy „sheet4” -nek. Olyan nevük van, mint „Borító”, „Index”, „Alapadatok” ...
Az első megközelítés az, hogy a VBA szerkesztőnkhöz kell fordulnunk, mert tudjuk, hogy a Projekt panelen zárójelbe teszik a nevünket, de kívülről még mindig „1. lap”, „2. lap” stb.
Az .xlsx fájl felépítése a VBE Projekt paneljén látható.
Van egy kis cenzúra, mert a fájl nem az enyém, és nincs kifejezett engedélyem a használatára. Csak azért tartottam meg a generikus neveket, mert elég jól érthető így. A zárójelben szereplő neveket láthatjuk lapjaink fülén. És az „1. lap”, a „2. lap” stb. a levelek belső neve. Valójában ez egy "kódnév" nevű tulajdonság, amely lehetővé teszi számunkra, hogy bizonyos könnyebben dolgozzunk a lapokkal. De ez nem az a név, amelynek a nómenklatúránk megfelel a zip fájlban. Megpróbálom tisztázni egy kicsit.
A kódban egy lapra háromféleképpen hivatkozhatunk: a neve, a kódneve és az indexe alapján. Így tennénk:
Ebben az esetben az index 1, a kódnév pedig Sheet1. De nem kell, hogy egybeesjenek. Valójában az én fájlomban a „Cover” nevű lap indexe 2 és „Sheet5” kódneve van.
Nos, a ZIP-fájlunk fájlneveiben a 'sheet' mögött található szám az egyes indexek indexe.
Eset megoldása: csökkentse a fájl méretét
Végül, tudván, melyik lapon kell cselekednünk, és miután eldobtam a többi gyanúsítottat, egyszerűen csak az utolsó sorra mentem az adatokkal, kijelöltem a következő sort és a Ctrl + Shift + ↓ billentyűkombinációval kijelöltem az összes cellát a végéig az aktából. Ezután kattintson a jobb gombbal és törölje. Ugyanígy jártam az utolsó oszloppal az adatokkal, és ugyanezt tettem a következő oszlop kiválasztásával, majd a Ctrl + Shift + → gombokkal az összes oszlop kiválasztásához a végéig. Ismét kattintson a jobb gombbal és törölje.
Cellák törlése.
Csak ezt tettem mindkét lapon, amelyek méretproblémáknak tűntek a zip fájlunkban. És a lapokat a VBA segítségével választották ki azzal a paranccsal, amely az előző szakasz indexét használta. Mentés után a varázslat megtörtént.
Kevesebb a súlya ...
Mi történt?
Amint arról korábban már szó esett, a lapok sokféle formátumot alkalmaztak. Árnyékolt, csíkos, színek ...
Úgy tűnik, hogy amikor egy cella üres és formázatlan, az Excel figyelmen kívül hagyja. Nem menti semmilyen információt róla, mert üres és szabványos tulajdonságokkal rendelkezik. De amikor megváltoztatjuk a formátumot, akkor az Excel-nek el kell mentenie ezeket az információkat a fájlba. Ha ismét töröljük a formázást, az Excel esetében ez már egy módosított cella, és folyamatosan menti, hacsak nem töröljük teljesen.
A lap elkészítésekor a készítő valószínűleg egész oszlopokat és sorokat választott ki a formázáshoz. Talán egyszerűen duplán kattintott az oldal aljára, anélkül, hogy észrevette volna, hogy nincs szüksége annyi információra a fájlban. Ezt több száz oszloppal megismételve megsokszorozták a fájl súlyát.
Tehát, ha eddig eljutottál, csak azt tudom mondani, hogy ne színezd túl az Excel lapokat, ha nem akarsz 40 megabájt fájlt találni anélkül, hogy tudnád miért.
- Teák, amelyek segítenek csökkenteni a derekad méretét
- Csökkentse a PDF fájl méretét Linuxon; internetLan
- Csökkentse az adagok méretét és a testmozgást, ami a fogyás kulcsa a szakértők szerint
- Trükkök a GeoJSON méretének csökkentésére és a webtérkép-alkalmazás sebességének javítására -
- Mi a torrentmágnes, és miben különbözik a fájltól?