OpenOffice Calc: zmniejsz rozmiar pliku podczas zapisywania jako Excel

7

Pracuję nad arkuszem kalkulacyjnym wraz z inną osobą, wysyłając nowe wersje z powrotem i pocztą elektroniczną. Nie zawiera nic szczególnego. Podczas gdy on używa systemu Windows, jestem na Ubuntu 12.04.4 LTS. Pierwsza wersja, którą wysłał, miała tylko 30 tys. Kiedy otworzyłem go w LibreOffice 3.5.7.2 (aktualna wersja OpenOffice Ubuntu) i po prostu zapisałem go ponownie (nadal w formacie Excel), miał 2,6 MB! Po moich edycjach miał on rozmiar 5 MB, co jest niedopuszczalne.

Co filema do powiedzenia na temat oryginalnego pliku Microsoft Office:Composite Document File V2 Document, Little Endian, Os: Windows, Version 6.2, ... Name of Creating Application: Microsoft Excel, ... Security: 0

Po zapisaniu jako Excel z LibreOffice filemówi prawie to samo. Różnice to: Wersja 1.0 zamiast 6.2, Strona kodowa: -535 zamiast 1252, Numer wersji: 1 (nieobecny w oryginalnym pliku), Nazwa aplikacji i bezpieczeństwo: już nie ma.

Czy istnieje sposób na zmniejszenie rozmiaru pliku?

użytkownik829755
źródło
... a co filemówi ci o wersji 5 MB? I czy zapisujesz jako Excel (z LibreOffice), czy w jego rodzimym formacie? (A tak na marginesie: f naprawdę nie ma nic ciekawego w arkuszu kalkulacyjnym: czy znasz funkcje arkusza kalkulacyjnego Dysku Google? Dobra współpraca, ale nie odpowiedź na twoje pytanie.)
Arjan
Zapisuję, nie zapisuję jako, więc LibreOffice zachowuje format pliku i filemówi prawie to samo. Różnice to: Wersja 1.0 zamiast 6.2, Strona kodowa: -535 zamiast 1252, Numer wersji: 1 (nieobecny w oryginalnym pliku), Nazwa aplikacji i bezpieczeństwo: już nie ma.
user829755
Czy jest jakaś szansa, że ​​LibreOffice formatuje wszystkie komórki, a następnie w zasadzie tworzy maksymalny rozmiar arkusza? Nie wiesz, jak łatwo to sprawdzić, ale jeśli tak się stanie, może to być związane z czcionkami w pliku Excel, których nie ma Twój Ubuntu, co może w jakiś sposób wywołać również formatowanie pustych komórek? Więc: jakaś dziwna czcionka użyta w pliku Excel? Czy rozmiar zmniejsza się, jeśli usuniesz całe formatowanie?
Arjan

Odpowiedzi:

10

Znalazłem problem. Były 4 x 65536 (głównie nieużywane) wiersze o niestandardowej wysokości wiersza. Wybrałem wszystkie nieużywane wiersze, wywołałem Format> Wiersz> Optymalna wysokość i nacisnąłem OK. Spowodowało to zmniejszenie pliku z 5 MB do 10 k.

Aby to odkryć, zapisałem plik jako .xlsx (Excel 2007/2010 XML lub jako arkusz kalkulacyjny OfficeOpen XML, to nie ma znaczenia). Jest to format zip zawierający pliki XML. Rozpakowałem go i znalazłem ogromne pliki takie jak xl/worksheets/sheet2.xml. Sformatowałem jedną z nich za pomocą xmllint --formati znalazłem 65536 linii wyglądających <row collapsed="false" customFormat="false" customHeight="true" hidden="false" ht="12.8" outlineLevel="0" r="65536"/>.

użytkownik829755
źródło
Miły. I po prostu ciekawy: kiedy problem zostanie zapisany w „prawdziwym” Excelu, problem powraca?
Arjan
tak, przynajmniej w programie Excel 2013, do którego mam dostęp. Zweryfikowałem to za pomocą minimalnego arkusza kalkulacyjnego, w którym nawet nie zmieniłem żadnego formatowania!
user829755
1
aby zaznaczyć nieużywane wiersze, użyj Ctrl + Shift + ArrowDown, następnie ArrowLeft, następnie wywołaj Format> Wiersz> Optymalna wysokość i naciśnij OK. Dzięki. Uratuj mi dzień.
Ahmad Azwar Anas,
0

Jeśli naprawdę nic specjalnego w twoim pliku, czy na pewno nie dodajesz niektórych obiektów, takich jak obrazy lub inne dokumenty w nim osadzone? Przez chwilę edytuję pliki z dużą ilością danych i zawsze zachowuję zrozumiały rozmiar (używając LibreOffice 4.x).

Kilka innych pomysłów: - skompresowanie pliku gzip przed wysłaniem może znacznie zaoszczędzić - jeśli problem dotyczy użycia skrzynki pocztowej, możesz skorzystać z innych usług udostępniania plików.

tonioc
źródło
1
Czy zapisujesz jako Excel, jak w pytaniu? Otwarcie programu Excel, a następnie natychmiastowe zapisanie, już zwiększa rozmiar z 30 KB do 2,6 MB. W arkuszu kalkulacyjnym nie powinno być żadnych dodatkowych obiektów.
Arjan