Power Query – lista plików z folderu (katalogu) do Excela

Piotr Majcher Excel - Power Query 5 Comments

W tym odcinku zobaczysz jak w Excelu przy pomocy Power Query zbudować listę plików z dowolnego folderu (katalogu) na dysku. Rozwiązanie będzie dynamiczne – jeśli zmienią się pliki (dojdą lub zostaną usunięte) lista zostanie uaktualniona.

Użyty mechanizm: Power Query

 

Pobierz plik do filmu: http://www.pmsocho.com/pobierz-pliki-do-filmow

Nazwa pliku: excel-591 – Power Query – lista plików z folderu (katalogu) do Excela.xlsx

 

Comments 5

  1. Witam,
    Szukam porady jak poradzić sobie z wczytaniem plików excel z folderu który jest w sieci. Chodzi o korzystanie z zaprezentowanej przez Ciebie metody w sytuacji gdy folder nie jest na dysku lokalnym ale na zdalnym serwerze (w moim konkretnym przypadku na Share Point).

    1. Post
      Author

      A w jaki sposób „dostajesz się” do tych plików? Przez przeglądarkę wpisując odpowiedni adres witryny i podajesz nazwę użytkownika i hasło?

      1. To jest SharePoint (SP) na sieci lokalnej gdzie loguję się kontem domenowym. Opcje w PQ dedykowane dla źródeł danych SP (Z listy programu SP i Z listy usług SP Online) nie działają bo nie przyjmują bardzo długiej ścieżki do docelowego katalogu. Co ciekawe mogę pobrać pojedynczy skoroszyt wskazując skrót na dysku w ulubionych do bibloteki SP i dalej mogę wskazać katalog w którym widzę pożądane pliki. Jednak opcja „Z folderu” po wskazaniu tego samego skrótu do SP nie pozwala na dalsze zagłębianie się w strukturę katalogu co w efekcie nie doprowadza mnie do tych pożądanego katalogu. Próbowałem podmieniać działającą funkcję dla pojedynczego pliku Excel.Workbook(„Web.Contents(https://….”)) na Folder.Files(Web.Contents(„https://…”) ale wyskakuje błąd Nie można przekonwertować wartości Binary na Text. Próbowałem też skorzystać ze opcji żródło danych „Z sieci Web) czyli funkcja Web.Page(Web.Contents(https://..)) i otrzymuję tabelkę w której jest kolumna typu Data z zawartością Table gdzie w podglądzie widzę moje skoroszyty ale po dodaniu kolumny i wprowadzeniu funkcji Excel.Workbook([Data]) otrzymuję błąd Nie można przekonwertować typu Table na Binary. Przyznam szczerze że pomysły mi się skończyły choć wydaje mi sie że można wczytać te pliki tylko niestety chyba mam za małe rozeznanie jak to zrobić.

        1. Zdaje się że odpowiednia jest funkcja SharePoint.Files() tyle że dla tej funkcji faktycznie mam problem z autentykacją. Wykonanie jej wymaga logowania. Jeśli wybieram użyj obecnych poświadczeń Windows to mam błąd o braku uprawnień do zasobu. Jeśli próbuje logowania przez konto organizacyjne to mam błąd Nagłówek WWW-Authenticate nie zawiera prawidłowego identyfikatora URI autoryzacji. Wartość nagłówka : „Negotiate,NTLM”. Przez www oczywiście wchodzę na SP bez problemu. Jeszcze będę próbował pytać admina SP.

          1. Post
            Author

            Hmm, ciężko mi podpowiedzieć, bo aktualnie korzystam z SharePointa którego mam w ramach Office 365 i korzystając z funkcji SharePoint.Files() wybieram uwierzytelnianie przez konto Microsoft – i to u mnie działa bez problemu.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *