Jak zrobić listę plików w folderze za pomocą Excel?
Jak zrobić listę plików w folderze za pomocą Excel? Na obrazku facet próbuje zrobić to samo w bash - on pobiera listę plików w bash za pomocą polecenia ls

Jak zrobić listę plików w folderze za pomocą Excel?

Organizowanie plików może być wyzwaniem, zwłaszcza jeśli zarządzamy dużą ilością dokumentów w różnych folderach. Excel jest narzędziem, które może pomóc w tworzeniu listy plików bezpośrednio z wybranego folderu. Poniżej przedstawiam trzy metody: z wykorzystaniem Pythona, wtyczki VSTO oraz Power Query. Poniższy artykuł odpowie na pytanie postawione w tytule czyli Jak zrobić listę plików w folderze za pomocą Excel?

Python – czy da się?

Pierwszy pomysł który przychodzi na myśl to Python. Niestety Python jest zwirtualizowany w chmurze lub w maszynie WSL (jeszcze tego nie rozgryzłem) i nie mamy dostępu do danych przez import os. Myślę że jest to kwestia czasu, ponieważ Python w Excel to świeży projekt.

Warto spróbować zrobić całkowicie odrębny skrypt Python i wygenerować nim np. plik CSV.

import os
import csv

def list_files_in_directory(directory):
    file_list = []
    
    # Sprawdzenie, czy katalog istnieje
    if not os.path.exists(directory):
        print(f"Katalog {directory} nie istnieje.")
        return file_list

    # Przejdź przez wszystkie katalogi i pliki
    for root, dirs, files in os.walk(directory):
        for file_name in files:
            try:
                file_path = os.path.join(root, file_name)
                file_size = os.path.getsize(file_path)
                file_list.append([file_name, file_path, file_size])
            except PermissionError:
                print(f"Brak dostępu do pliku: {file_name} w katalogu {root}")
    
    return file_list

def save_files_to_csv(file_list, output_csv):
    with open(output_csv, mode='w', newline='', encoding='utf-8') as csv_file:
        writer = csv.writer(csv_file)
        # Nagłówki kolumn
        writer.writerow(["File Name", "File Path", "File Size (Bytes)"])
        
        # Zapisz każdy plik do pliku CSV
        for file in file_list:
            writer.writerow(file)

    print(f"Plik CSV został wygenerowany: {output_csv}")

# Główna funkcja
def main():
    # Katalog, który chcesz zeskanować
    directory_path = '/'
    
    # Nazwa wyjściowego pliku CSV
    output_csv = 'file_listing.csv'
    
    # Uzyskaj listę plików w katalogu
    file_list = list_files_in_directory(directory_path)
    
    # Zapisz listę plików do pliku CSV
    save_files_to_csv(file_list, output_csv)

# Uruchomienie głównej funkcji
if __name__ == "__main__":
    main()

VSTO – jak stworzyć wtyczkę w C# do zbierania plików?

VSTO (Visual Studio Tools for Office) to technologia umożliwiająca tworzenie dodatków do aplikacji Office, w tym Excel. Dzięki temu możemy stworzyć wtyczkę w C#, która automatycznie zbiera pliki z folderu i wstawia je do arkusza.

Przykładowy kod C# do wtyczki VSTO, która zbiera pliki:

using System;
using System.IO;
using Excel = Microsoft.Office.Interop.Excel;

public void ZbierzPliki(string folderPath)
{
    var pliki = Directory.GetFiles(folderPath);
    Excel.Worksheet arkusz = Globals.ThisAddIn.Application.ActiveSheet;

    int row = 1;
    foreach (string plik in pliki)
    {
        arkusz.Cells[row, 1].Value = Path.GetFileName(plik);
        row++;
    }
}

Ten kod pobiera listę plików z określonego folderu i wstawia ich nazwy do aktywnego arkusza Excela. Wtyczka może być rozwinięta o dodatkowe funkcje, takie jak wybór folderu przez użytkownika czy dodanie dodatkowych informacji o plikach (np. rozmiar, data modyfikacji).

Power Query – najlepsze rozwiązanie do tworzenia listy plików

Power Query to narzędzie wbudowane w Excel, które umożliwia pobieranie danych z różnych źródeł, w tym z folderów. Jest to najprostszy sposób na zebranie listy plików bez potrzeby kodowania. Wystarczy skorzystać z funkcji „Z folderu” w Power Query, aby automatycznie pobrać listę plików wraz z dodatkowymi informacjami, takimi jak rozmiar, data modyfikacji czy typ pliku.

Kroki:

  1. Otwórz Excel.
  2. Przejdź do zakładki Dane.
  3. Wybierz Z folderu w sekcji „Pobierz dane”.
  4. Wskaż folder, z którego chcesz pobrać pliki.
  5. Power Query automatycznie wygeneruje tabelę z listą plików.
Krok pierwszy – wybierz odpowiednią funkcję

Power Query oferuje intuicyjny interfejs i możliwość dalszej obróbki danych, co czyni go najbardziej wszechstronnym rozwiązaniem w tej sytuacji.

Podsumowanie

Każda z metod ma swoje zalety. Python pozwala na automatyzację z wykorzystaniem skryptów, VSTO umożliwia integrację bezpośrednio w środowisku Excel, a Power Query to najprostsze i najbardziej intuicyjne narzędzie, idealne dla użytkowników niezaawansowanych w programowaniu. Mam nadzieję że odpowiedzieliśmy na pytanie – jak zrobić listę plików w folderze za pomocą Excel.

Obraz StartupStockPhotos z Pixabay

excelpowerquerypythonvsto
Udostępnij:
Jak zrobić listę plików w folderze za pomocą Excel?
Napisane przez
Michał Wrochna
Co myślisz o tym artykule?
0 reakcji
love
0
like
0
so-so
0
weakly
0
0 komentarzy
Najnowsze komentarze
  • Najnowsze komentarze
  • Najlepsze komentarze
Zaloguj się, aby dodać komentarz.
Prawa zastrzeżone Pi Corp sp. z o.o. copyright 2020-2022