Spis treści
Zadanie przeniesienia danych z arkusza kalkulacyjnego w pliku PDF do arkusza Microsoft Excel jest zawsze „zabawne”. Zwłaszcza jeśli nie masz drogiego oprogramowania do rozpoznawania, takiego jak FineReader lub coś takiego. Bezpośrednie kopiowanie zwykle nie prowadzi do niczego dobrego, ponieważ. po wklejeniu skopiowanych danych do arkusza najprawdopodobniej „skleją się” w jednej kolumnie. Więc będą musiały być następnie skrupulatnie oddzielone za pomocą narzędzia Tekst według kolumn z zakładki Dane (Dane — tekst do kolumn).
I oczywiście kopiowanie jest możliwe tylko w przypadku tych plików PDF, w których występuje warstwa tekstowa, tj. w przypadku dokumentu, który właśnie został zeskanowany z papieru do PDF, to w zasadzie nie zadziała.
Ale to nie jest takie smutne, naprawdę 🙂
Jeśli masz pakiet Office 2013 lub 2016, to za kilka minut, bez dodatkowych programów, całkiem możliwe jest przesyłanie danych z pliku PDF do programu Microsoft Excel. Pomogą nam w tym Word i Power Query.
Na przykład weźmy ten raport w formacie PDF z mnóstwem tekstu, wzorów i tabel ze strony internetowej Europejskiej Komisji Gospodarczej:
… i spróbuj wyciągnąć z tego w Excelu, powiedz pierwszą tabelę:
Chodźmy!
Krok 1. Otwórz PDF w programie Word
Z jakiegoś powodu niewiele osób wie, ale od 2013 roku Microsoft Word nauczył się otwierać i rozpoznawać pliki PDF (nawet te zeskanowane, czyli bez warstwy tekstowej!). Odbywa się to w całkowicie standardowy sposób: otwórz Word, kliknij Plik – Otwórz (Plik — Otwórz) i określ format PDF na liście rozwijanej w prawym dolnym rogu okna.
Następnie wybierz potrzebny nam plik PDF i kliknij Otwarte (Otwarty). Program Word mówi nam, że uruchomi OCR w tym dokumencie, aby wysłać tekst:
Zgadzamy się i za kilka sekund zobaczymy nasz plik PDF otwarty do edycji już w programie Word:
Oczywiście projekt, style, czcionki, nagłówki i stopki itp. częściowo wylecą z dokumentu, ale nie jest to dla nas ważne – potrzebujemy tylko danych z tabel. W zasadzie na tym etapie kuszące jest, aby po prostu skopiować tabelę z rozpoznanego dokumentu do Worda i po prostu wkleić ją do Excela. Czasami to działa, ale częściej prowadzi do różnego rodzaju zniekształceń danych – na przykład liczby mogą zamienić się w daty lub pozostać tekstem, jak w naszym przypadku, ponieważ. PDF nie używa separatorów:
Więc nie idźmy na skróty, ale sprawmy, aby wszystko było trochę bardziej skomplikowane, ale słuszne.
Krok 2: Zapisz dokument jako stronę internetową
Aby następnie załadować otrzymane dane do Excela (poprzez Power Query), nasz dokument w Wordzie musi być zapisany w formacie strony internetowej – format ten jest w tym przypadku rodzajem wspólnego mianownika między Wordem i Excelem.
Aby to zrobić, przejdź do menu Plik – Zapisz jako (Plik — Zapisz jako) lub naciśnij klawisz F12 na klawiaturze i w otwartym oknie wybierz typ pliku Strona internetowa w jednym pliku (Strona internetowa — pojedynczy plik):
Po zapisaniu powinieneś otrzymać plik z rozszerzeniem mhtml (jeśli widzisz rozszerzenia plików w Eksploratorze).
Etap 3. Przesyłanie pliku do programu Excel za pomocą Power Query
Możesz otworzyć utworzony plik MHTML bezpośrednio w Excelu, ale wtedy otrzymamy po pierwsze od razu całą zawartość PDF wraz z tekstem i garścią niepotrzebnych tabel, a po drugie znowu stracimy dane z powodu niepoprawnych separatory. Dlatego importujemy do programu Excel za pomocą dodatku Power Query. Jest to całkowicie darmowy dodatek, dzięki któremu możesz wgrywać dane do Excela z niemal dowolnego źródła (pliki, foldery, bazy danych, systemy ERP), a następnie w każdy możliwy sposób przekształcać otrzymane dane, nadając im pożądany kształt.
Jeśli masz Excel 2010-2013, możesz pobrać Power Query z oficjalnej strony Microsoft – po instalacji zobaczysz zakładkę Zapytanie o moc. Jeśli masz Excel 2016 lub nowszy, nie musisz niczego pobierać – cała funkcjonalność jest już domyślnie wbudowana w Excel i znajduje się na karcie Dane (Data) w grupie Pobierz i przekonwertuj (Pobierz i przekształć).
Więc idziemy albo do zakładki Dane, lub na karcie Zapytanie o moc i wybierz drużynę Aby uzyskać dane or Utwórz zapytanie – Z pliku – Z XML. Aby widoczne były nie tylko pliki XML, zmień filtry na liście rozwijanej w prawym dolnym rogu okna na Wszystkie pliki (Wszystkie pliki) i określ nasz plik MHTML:
Pamiętaj, że import nie zakończy się pomyślnie, ponieważ. Dodatek Power Query oczekuje od nas kodu XML, ale w rzeczywistości mamy format HTML. Dlatego w następnym oknie, które się pojawi, będziesz musiał kliknąć prawym przyciskiem myszy plik niezrozumiały dla dodatku Power Query i określić jego format:
Następnie plik zostanie poprawnie rozpoznany i zobaczymy listę wszystkich zawartych w nim tabel:
Możesz przeglądać zawartość tabel, klikając lewym przyciskiem myszy na białym tle (nie w słowie Tabela!) komórek w kolumnie Dane.
Po zdefiniowaniu żądanej tabeli kliknij zielone słowo Stół – i „wpadasz” w jego treść:
Pozostaje wykonać kilka prostych kroków, aby „przeczesać” jego zawartość, a mianowicie:
- usuń niepotrzebne kolumny (kliknij prawym przyciskiem myszy nagłówek kolumny – Usunąć)
- zamień kropki na przecinki (wybierz kolumny, kliknij prawym przyciskiem – Wymiana wartości)
- usuń znaki równości w nagłówku (wybierz kolumny, kliknij prawym przyciskiem – Wymiana wartości)
- usuń górną linię (Strona główna – Usuń linie – Usuń górne linie)
- usuń puste linie (Strona główna – Usuń linie – Usuń puste linie)
- podnieś pierwszy wiersz do nagłówka tabeli (Strona główna – Użyj pierwszego wiersza jako nagłówków)
- odfiltrować niepotrzebne dane za pomocą filtra
Gdy stół zostanie doprowadzony do swojej normalnej postaci, można go wyładować na arkusz za pomocą polecenia zamknij i pobierz (Zamknij i załaduj) on Głównym patka. A dostaniemy takie piękno, z którym już możemy pracować:
- Przekształcanie kolumny w tabelę za pomocą dodatku Power Query
- Dzielenie przyklejonego tekstu na kolumny