Co robi Libre Office na istniejącym arkuszu Excel, aby zwiększyć jego rozmiar?

4

Staram się unikać korzystania z Libre Office na istniejących skoroszytach utworzonych w Excelu ze względu na potencjalnie nieprzyjemne wyniki. W tym przypadku Libre Office nadęło rozmiar skoroszytu z nieznanego mi powodu. Chciałbym wiedzieć, czy Libre Office robi to do wszystkich skoroszytów programu Excel lub po prostu coś w tym skoroszycie, który to powoduje.

Zaangażowane oprogramowanie:

  • Microsoft Office Excel 2010
  • Libre Office 3.5.x (dokładna wersja nieznana)
  • Dropbox (tylko do synchronizacji zmian)

Zaangażowane platformy:

  • Office on Windows (mistrz oczywistości na tym, co przypuszczam ..)
  • Libre Office na Mac OS 10.6

Typy danych przechowywanych w tym skoroszycie:

  • Tekst
  • Liczby całkowite
  • 1 kolumna z prostą formułą obejmującą cały arkusz reprezentujący ten konkretny wiersz (= CONCATENATE (A2285, B2285, D2285), = CONCATENATE (A2286, B2286, D2286) itd.)
  • Łącznie 3500 wierszy

Oto zdjęcie ze szczegółami opisanymi poniżej, ale idę dalej i wyjaśnię również zdjęcie:

  • Ten zrzut ekranu pochodzi z historii Dropbox ze skoroszytu .xlsx.
  • Wersjami 61–68 były Office Excel.
  • Wersja 69 - 73 to Libre Office.

Drobox file history.

Sn3akyP3t3
źródło

Odpowiedzi:

7

Chwyć Open XML SDK 2.0 i uruchom „Open XML Productivity Tool for Microsoft Office”. Jest to zgrabna aplikacja, która pozwala wykonać kilka analiz danych XML w .xlsx lub .docx, i powinna ułatwić Ci sprawdzenie, gdzie jest ta przepaść za pomocą narzędzia do porównywania, aby porównać zawartość dwóch dokumentów w XML poziom.

Istnieje kilka możliwości:

  • LibreOffice może wstawiać dodatkowe dane (style czcionek / komórek, informacje o formatowaniu itp.), Które Office traktuje jako „dorozumiane” lub zawarte w szablonie „Normal”.
  • LibreOffice może nie kompresować danych. Jeśli nie wiesz, Office używa kompresji bezstratnej (podobnej do ZIP) do kompresji wszystkich danych w swoich formatach Open XML. Myślałem, że LibreOffice ma to obsługiwać, ale może jest problem z kompresją w wersji, w której działa osoba. Jest to najbardziej prawdopodobna sytuacja, jeśli nie widzisz istotnych różnic w danych podczas uruchamiania narzędzia do porównywania.
  • LibreOffice może ponownie analizować dane, tworzyć własną strukturę wewnętrzną i zapisywać dane (przy użyciu oddzielnej procedury) w sposób, który najlepiej pasuje do jej wewnętrznej reprezentacji dokumentu, która może być mniej wydajna niż własna Office. To, jeśli to prawda, byłoby bardziej problemem projektowym i wskazuje na podstawowe różnice w funkcjach i technologiach używanych w rodzimej funkcjonalności LibreOffice w porównaniu z funkcjami Office.

Możesz łatwo wykluczyć drugą możliwość (problemy z kompresją) w następujący sposób:

  • Weź wersję ~ 220K Office, otwórz ją w LibreOffice, dodaj pojedynczy znak do pojedynczej komórki i zapisz go.
  • zainstalować 7-Zip jeśli jeszcze go nie masz.
  • Otwórz plik .xlsx zapisany przez LibreOffice i plik .xlsx zapisany przez Excel, w formacie 7-zip.
  • Poruszaj się po hierarchii katalogów archiwum i znajdź a plik (nie katalog).
  • Porównaj „Rozmiar” i „Rozmiar spakowany”. Jeśli rozmiary składowania LibreOffice jest znacznie większy, a LibreOffice rozrasta się sam. Jeśli rozmiary są prawie takie same, ale Rozmiar spakowany nie jest o wiele mniejszy niż rozmiar, wtedy kompresja nie jest używana lub niewłaściwa kompresja. Na moim komputerze program Microsoft Excel 2010 kompresuje plik _rels.rels z 588 bajtów do 245, a plik xl style.xml z 3037 bajtów do 878.

Możesz łatwo wykluczyć pierwszą kulkę w następujący sposób:

  • Weź wersję ~ 220K Office, otwórz ją w LibreOffice, dodaj pojedynczy znak do pojedynczej komórki i zapisz go.
  • Uruchom narzędzie wydajności i porównaj XML.
  • Jeśli dokumenty są praktycznie identyczne, z wyjątkiem bardzo małego, zamkniętego obszaru, w którym dokonano zmiany pojedynczego znaku, prawdopodobnie pierwsze wydanie (wstawienie dodatkowych danych) nie ma zastosowania.

Jeśli wykluczyłeś zarówno pierwsze, jak i drugie zagadnienie, jedyną możliwością, jaką widzę, jest trzecia, która nie jest łatwa do naprawienia i może oznaczać, że LibreOffice jest „po prostu nieefektywny”.

Aby rozwiązać ten problem, pierwszą rzeczą, jaką zrobię, jest przetestowanie znacznie nowszej wersji LibreOffice. Wypróbuj ich kandydata do beta / release / cokolwiek się stanie. Wypróbuj go na różnych platformach, takich jak Windows lub Linux. Sprawdź, czy możesz znaleźć wersję lub platformę, która daje bardziej wydajne wyniki niż inne. Ogólnie rzecz biorąc, nowsze wersje (nawet wersje przedpremierowe) częściej zawierają rozwiązanie problemu niż starsze wersje.

allquixotic
źródło
Na początku nie zauważyłem twojej odpowiedzi podczas komentowania postu przez „MK” głównie dlatego, że dodatek Firefox „Stack Alert” prezentuje nowy post na pasku narzędzi jako „Last In First Out”, a następnie, gdy trafia do treści zakotwicza to tak, że nie wiedziałem o twoim poście. Twoje informacje, które tu pozostały, wykraczają poza to, czego oczekiwałem. Zamierzam zastosować niektóre z tych testów w odpowiednim czasie. Test kompresji okazał się już cenny i prawdopodobnie tak daleko, jak mogę to stwierdzić.
Sn3akyP3t3
1

Nie wiem, dlaczego ten wybuch istnieje, ale przedstawię wyjaśnienie, że możesz się zweryfikować.

Wszystko .xlsx (lub o to chodzi, .docx, .pptx ) pliki są skompresowanymi plikami. Jeśli zmienisz nazwę a .xlsx plik do .zip i otwórz go (lub rozpakuj), znajdziesz w nim kilka plików i folderów.

Z przechwytywania ekranu wydaje się, że LibreOffice nie kompresuje danych podczas tworzenia plików. Możesz to łatwo zweryfikować, zmieniając nazwę jednej wersji z Excela i jednej wersji z LibreOffice na .zip, dekompresując je i patrząc na poszczególne pliki i foldery. Prawdopodobnie nieskompresowane rozmiary pasowałyby do rozmiarów.

Możesz również zadać to pytanie na stronie Q & amp; A dla LibreOffice pod adresem http://ask.libreoffice.org .

M K
źródło
Cuda nigdy się nie kończą! Nie wiedziałem, że witryna StackExchange istnieje. Przeniosę to pytanie tam, ponieważ zakres jest bardziej odpowiedni. Nie wiedziałem też, że możesz zrobić tę sztuczkę .zip. Przeprowadziłem szybki test i okazało się, że masz rację. Nie musisz zmieniać nazwy i rozpakowywać, jeśli klikniesz prawym przyciskiem myszy i rozpakujesz 7-zip.
Sn3akyP3t3
1
ask.libreofficeorg może Popatrz jak strona SE, ale tak jest nie strona SE. Jest zasilany przez AskBot i uruchom na infrastrukturze LibreOffice. Nie ma to nic wspólnego z SE innymi niż niemal perfekcyjne kopiowanie wzorców interfejsu użytkownika. Co więcej, nie jestem pewien, czy ta odpowiedź rzeczywiście dodaje coś, czego już nie powiedziałem w mojej odpowiedzi; Twoja sztuczka „zmiany nazwy” jest całkowicie niepotrzebna, nawet dla programów zip innych niż 7-zip, ponieważ format pliku jest zdefiniowany przez dane w pliku, a nie przez jego nazwę.
allquixotic
1
@allquixotic miałem zamiar edytować odnośnik StackExchange dla ask.libreoffice.org, ale slhck już to zrobił.
M K
@allquixotic Kiedy zacząłem pisać moją odpowiedź, nie było odpowiedzi na to pytanie. Kiedy skończyłem komponować i opublikowałem, była jedna odpowiedź (twoja). Więc to nie tak, że skopiowałem twoją odpowiedź. „Sztuczka” zmiany nazwy jest przydatna na platformach, na których program taki jak 7-Zip nie jest łatwo dostępny (jak Mac OS 10.6 wspomniany w pytaniu).
M K