ID tematu: 69686
 |
Długi czas otwierania i zapisywania danych w pliku Excel |
Autor |
Wiadomość |
Artik


Wersja: Win Office 365
Pomógł: 3091 razy Posty: 10242
|
Wysłany: 09-01-2021, 15:32
|
|
|
Artik napisał/a: | Co ciekawe, w chmurze działa godziwie. | Po dalszej analizie okazało się, że w chmurze też nie jest całkiem różowo. Owszem, wykonywanie działań na pliku jest przyzwoite, ale nie można odczytać komentarzy.
Artik napisał/a: | Na komputerze załamka. | Tak, można z całą stanowczością stwierdzić, że powodem wolnego działania jest duża ilość komentarzy. Należałoby z nich zrezygnować, a treści komentarzy przechowywać w komórkach arkusza.
Ex_celes napisał/a: | skoro stary plik w formacie *.xls proporcjonalnie z tą samą ilością komentarzy zapisywał się 1 sekundę, to dlaczego nowy, lepszy, mniejszy objętościowo o połowę, zapisuje się w tak długim czasie? | Wiesz, niejednemu już drzazga w rękę wlazła, bo uwierzył w słowo pisane. Prawdopodobną przyczyną spowolnienia na nowszych wersjach jest całkowicie inny sposób przechowywania obiektów Comment. Być może jest tak, że w wersjach 2003- informacja o komentarzach była zapisywana w kodzie pliku "na sztywno", a w nowszych dzieje się to dynamicznie. Przeglądając pliki XML można natrafić na comments1.xml, który zawiera dane o komentarzach. Silnik Excela, przy otwieraniu pliku głównego, dopiero buduje komentarze w arkuszu odczytując dane z comments1.xml. Podobnie przy zapisie, dane o komentarzach muszą być zapisane w stosownym pliku XML. I zastosowany mechanizm jest mało wydajny. Lecz tych zdań proszę nie brać sobie do serca zbyt mocno, bo nie mam w tej materii wiedzy, to tylko moja próba wyjaśnienia sobie mechanizmu.
Ex_celes napisał/a: | Nie sprawdzałem czasu filtrowania - pewnie wyszło by z pół dnia... | Exactly
Przypomnę ostrzeżenie bodka sprzed dziesięciu lat: Cytat: | Zatem - Excel 2007 - założyłeś filtr - nie wstawiaj komentów
(...)
Generalnie w Excelu -> używasz Autofiltra, nie używaj komentarzy. | Od siebie tylko dodam, że z moich obserwacji wynika, że Excel "od zawsze" nie przepadał za obiektami graficznymi w arkuszu. A przynajmniej w przypadku arkusza "hybrydowego" (dane i grafika) na którym próbujemy wykonywać "normalne" operacje (np. formuły, filtrowanie itp.)
Artik |
_________________ Persistence is a virtue in the world of programming. |
|
 | ID posta:
397939
|
|
|
 |
|
|
|
Ex_celes
Forumowicz

Wersja: Win Office 2010
Posty: 11
|
Wysłany: 11-01-2021, 12:08
|
|
|
@Artik
Dane kopiuję do nowego pliku ze strony internetowej ctrl+c; ctrl+v potem rozwijam „opcje wklejania” i wybieram ostatnią możliwość jako „Uwzględnij formatowanie docelowe (U)”, tak aby wkleił mi się jedynie sam tekst oraz liczby przedzielone kropką a nie przecinkiem oraz data.
Datę poprawiam i zapisuję w nowej kolumnie z poprawnym formatowaniem (2021-11-01 12:00).
Po przygotowaniu :) 100 wierszy, kopiuję je do kolejnych wierszy, aby otrzymać 500 wierszy.
500 wierszy kopiuję, aby otrzymać 1000 wierszy.
1000 wierszy kopiuję, aby otrzymać 10 000 wierszy.
10 000 wierszy kopiuję, aby otrzymać - w przykładu pliku „Przykład_1” - do ok. 85 000 wierszy. Z tak otrzymanym plikiem o wielkości 9,9 MB jest duży problem z czasem otwierania, zapisywania, a o pracy na filtrach to już nawet szkoda pisać…
Ważne: podczas kopiowania, ze względu na to, że za długo mi to trwało, zrobiłem Control+Alt+Delete i w menedżerze zadań zakończyłem proces. Potem po otwarciu Excela anuluj.
Pracując na pliku ze starym rozszerzeniem *.xls (1997-2003), gdzie liczba danych wierszy ma ograniczenie do 65 536 wierszy jakoś to lepiej było „zorganizowane”, ponieważ plik otwiera się 1 sekundę i zapisuje również w podobnym czasie. Oczywiście wielkość takiego pliku może wynieść nawet 18 MB.
Dochodząc do wspomnianego limitu wierszy w dół, no niestety trzeba przejść na najnowsze rozszerzenie *.xlsx. Wówczas liczba wierszy jakie można wpisywać rośnie aż do 1 miliona 48 tysięcy 576 wierszy !!! To jest aż 16 krotnie, przy jednoczesnym zmniejszeniu o połowę wielkości pliku, czyli jakieś 9 MB. Jeśli Micosoftowi chodziło o zmniejszenie wielkości, to im się udało. Tylko co z tego, jak na pliku przekraczającym te 65 tys. wierszy zaczyna się koszmarnie pracować. No chyba, że jest gdzieś zastrzeżenie producenta oprogramowania, że powyżej tej liczy plik Excel może służyć wyłączeni w celu archiwizowania. Skoro tak, to ok. Przerzucę się na inny program, pytanie tylko jaki? Jak sobie radzą z taką liczbą danych np. w laboratoriach itp. Przecież to nie jest tak, że tylko mi to jest potrzebne.
Przeglądając to ŚWIETNE forum, człowiek dostrzega, z jakim to kombajnem ma do czynienia i ile to funkcji w nim nigdy nawet nie wykorzysta. Ale najwidoczniej ja tego bizona nie umiem obsługiwać…
Bardzo dziękuję Wam wszystkim za zainteresowanie się tematem. |
|
 | ID posta:
398049
|
|
|
 |
|
|
Ex_celes
Forumowicz

Wersja: Win Office 2010
Posty: 11
|
Wysłany: 11-01-2021, 12:24
|
|
|
@Artik
1. Jak zatem przygotować plik (format Excela: xlsx; xlsb lub inne) albo jaki inny arkusz kalkulacyjny wybrać (ale to wtedy pytanie do innego forum nie excelowego…)?
2. Ograniczeniem Excela jest „Liczba pozycji wyświetlanych na listach rozwijanych filtrów” jako 10 000. Rozumiem, że chodzi tu o to, że za pomocą filtra w pliku *.xlsx filtrować można tylko bazy 10 000 wierszy? Czy chodzi też o liczbę (10 tys.), która się pokazuje w okienku filtrowania?
Czy można powyższe ominąć np. tabelą obiekt? |
|
 | ID posta:
398052
|
|
|
 |
|
|
Ex_celes
Forumowicz

Wersja: Win Office 2010
Posty: 11
|
Wysłany: 11-01-2021, 14:16 Przyklad_2
|
|
|
Poniżej plik „Przyklad_2.xlsx” tylko z 10 000 wierszy, zapisany oczywiście w takim formacie, aby dało się go dodać do forum.
Jeśli ktoś ma tyle siły i ochotę aby po kopiować 10 tys. wierszy, tak aby było ok. 100 tys. lub tyle aby plik miał wielkość ok 18 MB, to proszę bardzo.
Jeszcze raz bardzo dziękuję za Wasz odzew
Przyklad_2.xlsm
|
Pobierz Plik ściągnięto 7 raz(y) 714.59 KB |
|
|
 | ID posta:
398061
|
|
|
 |
|
|
Rafał B.
Exceloholic


Wersja: Win Office 2016
Pomógł: 34 razy Posty: 235
|
Wysłany: 11-01-2021, 14:51
|
|
|
Każdemu udzielającemu w tym temacie nasunęło się zapewne podstawowe pytanie, ale nikt go jeszcze nie zadał, więc ja sobie pozwolę: dlaczego te komentarze muszą zostać w obecnej postaci, dlaczego tak bardzo Ci na tym zależy? Bez tych komentarzy nasuwają się dwa podstawowe rozwiązania (ale zapewne nie jedyne):
1. Rozwiązanie prostsze:
dodać kolumnę/kolumny z komentarzami i przenieść ich tekst po prostu do komórek. Dotychczasowe komentarze przenieść oczywiście w sposób automatyczny makrem.
2. Rozwiązanie troszkę trudniejsze, ale na pewno ktoś by Ci pomógł:
pokazywać tekst komentarza w pop up UserForm i kolorowanie komórek z komentarzami lub inne wyróżnienie. Można nawet dodać mechanizm zamieniający zwykły komentarz do nowej postaci, żebyś sobie mógł je dodawać po staremu przez Wstaw komentarz.
Wydaje się, że nie ma powodu na siłę trzymania się tych komentarzy w obecnej formie. Przynajmniej żaden sensowny powód tego uporu mi do głowy nie przychodzi...
PS
Też na początku wydawało mi się, że xlsb z racji bycia formatem binarnym będzie działał o wiele szybciej niż paczka .xml (.xlsx), ale nie zaobserwowałem wzrostu wydajności na swoim leciwym lapku. |
_________________ Jest niemal niemożliwe nauczenie dobrego programowania uczniów, którzy byli narażeni na kontakt z BASIC: jako potencjalni programiści są okaleczeni, bez nadziei na poprawę. (Edsger Dijkstra, pionier informatyki).
Po części dotyczy również VBA. |
|
 | ID posta:
398064
|
|
|
 |
|
|
Ex_celes
Forumowicz

Wersja: Win Office 2010
Posty: 11
|
Wysłany: 14-01-2021, 11:13
|
|
|
@Artik bardzo Ci dziękuję za poświęcony czas rozszyfrowania tej enigmy :)
@Rafab B. Bardzo Ci dziękuję za podpowiedzi. Pewnie makra, pop up UserForm itp. spowolniłby prace pliku. Stworzyłem plik bez komentarzy na ponad 121 tys. wierszy (10,49MB) i czas jego otwierania to akceptowalne ok. 3 sekundy, zapisywanie nawet nieco krócej. Mało tego, działają filtry i nic się nie wiesza.
W związku z tym mam jeszcze takie pytania?
1. Czy rodzaj i wielkość czcionki (stary Excel miał narzucony Arial 10, nowy ma Calibri 11) użytej w pliku może też mieć znaczenie na szybkość pracy na nim?
2. Czy kolor wypełnienia komórki też może mieć wpływ na powyższe?
I tak dziwie się, dlaczego nikt mi jeszcze nie zwrócił uwagi, po kiego wpisuję w komórki liczby w formacie 2.50 (z kropką) zamiast 2.50 (z przecinkiem).
Obawiałem się na samym początku, że w moim temacie nikt mi nie pomoże (ze względu na tematykę). A tu miłe zaskoczenie. Dziękuję. |
|
 | ID posta:
398287
|
|
|
 |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
 |
Strona używa plików cookies.
Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe
|