Załaduj widoczne arkusze tylko z pliku Excel

Wstęp

Podczas pracy z plikami Excela w aplikacjach .NET wyzwanie zarządzania wieloma arkuszami staje się oczywiste, zwłaszcza gdy niektóre są ukryte lub nieistotne dla Twojej operacji. Aspose.Cells dla .NET to potężna biblioteka, która pomaga Ci sprawnie manipulować plikami Excela. W tym artykule przyjrzymy się, jak załadować tylko widoczne arkusze z pliku Excela, filtrując wszelkie ukryte dane. Jeśli kiedykolwiek czułeś się przytłoczony nawigacją po danych Excela, ten przewodnik jest dla Ciebie!

Wymagania wstępne

Zanim przejdziemy do samouczka, upewnijmy się, że masz wszystko, czego potrzebujesz:

  1. Podstawowa znajomość języka C#: Ten samouczek jest przeznaczony dla programistów znających język programowania C#.
  2. Aspose.Cells dla .NET: Musisz mieć pobraną i skonfigurowaną bibliotekę Aspose.Cells dla .NET. Możeszpobierz bibliotekę tutaj.
  3. Visual Studio lub dowolne środowisko IDE: Powinieneś mieć środowisko IDE, w którym będziesz mógł pisać i testować kod w języku C#.
  4. .NET Framework: Upewnij się, że masz zainstalowaną wymaganą wersję .NET Framework, aby móc uruchamiać aplikacje.
  5. Przykładowy plik programu Excel: W celach ćwiczeniowych utwórz przykładowy plik programu Excel lub postępuj zgodnie z udostępnionym kodem. Wszystko gotowe? Super! Zaczynajmy!

Importuj pakiety

Jednym z pierwszych kroków w każdym projekcie C# pracującym z Aspose.Cells jest importowanie wymaganych pakietów. Umożliwia to dostęp do wszystkich funkcjonalności udostępnianych przez bibliotekę. Oto jak to zrobić:

  1. Otwórz swój projekt: Zacznij od otwarcia projektu C# w programie Visual Studio lub innym preferowanym środowisku IDE.
  2. Dodaj odwołania: Kliknij prawym przyciskiem myszy swój projekt w Eksploratorze rozwiązań, wybierz „Dodaj”, a następnie „Odwołanie”.
  3. Przeglądaj w poszukiwaniu Aspose.Cells: Znajdź plik Aspose.Cells.dll, który pobrałeś wcześniej, i dodaj go do odniesień swojego projektu. Ten krok jest kluczowy, ponieważ łączy funkcjonalność Aspose.Cells z Twoim projektem.
using System.IO;
using Aspose.Cells;
using System;

Teraz, gdy zaimportowałeś niezbędne pakiety, utworzymy przykładowy skoroszyt programu Excel. W tym skoroszycie będziemy mieć wiele arkuszy, a jeden z nich będzie ukryty na potrzeby tego samouczka.

Krok 1: Skonfiguruj swoje środowisko

Najpierw skonfigurujmy środowisko i określmy ścieżki do pliku przykładowego.

// Ścieżka do katalogu dokumentów.
string dataDir = "Your Document Directory";
string sampleFile = "output.xlsx";
string samplePath = dataDir + sampleFile;

W tym fragmencie kodu zamień"Your Document Directory" z rzeczywistą ścieżką, pod którą chcesz zapisać skoroszyt.

Krok 2: Utwórz skoroszyt

Następnie utwórzmy skoroszyt i dodajmy dane.

// Utwórz przykładowy skoroszyt
Workbook createWorkbook = new Workbook();
createWorkbook.Worksheets["Sheet1"].Cells["A1"].Value = "Aspose";
createWorkbook.Worksheets.Add("Sheet2").Cells["A1"].Value = "Aspose";
createWorkbook.Worksheets.Add("Sheet3").Cells["A1"].Value = "Aspose";
createWorkbook.Worksheets["Sheet3"].IsVisible = false; // Ukryj Arkusz3
createWorkbook.Save(samplePath);

Oto podsumowanie tego, co się dzieje:

  • Tworzymy nowy skoroszyt i dodajemy trzy arkusze.
  • „Arkusz1” i „Arkusz2” będą widoczne, natomiast „Arkusz3” będzie ukryty.
  • Następnie zapisujemy skoroszyt w określonej ścieżce.

Krok 3: Załaduj przykładowy skoroszyt za pomocą opcji ładowania

Teraz, gdy mamy już skoroszyt z widocznymi i ukrytymi arkuszami, czas go załadować, upewniając się, że mamy dostęp tylko do widocznych arkuszy.

LoadOptions loadOptions = new LoadOptions();
loadOptions.LoadFilter = new CustomLoad();

Ten fragment kodu konfiguruje opcje ładowania skoroszytu, które dostosujemy tak, aby odfiltrować ukryte arkusze.

Krok 4: Zdefiniuj niestandardowy filtr ładowania

Aby załadować tylko widoczne arkusze, musimy utworzyć niestandardowy filtr ładowania. Oto jak go zdefiniować:

class CustomLoad : LoadFilter
{
    public override void StartSheet(Worksheet sheet)
    {
        if (sheet.IsVisible)
        {
            this.LoadDataFilterOptions = LoadDataFilterOptions.All;
        }
        else
        {
            this.LoadDataFilterOptions = LoadDataFilterOptions.Structure;
        }
    }
}
  • TenStartSheet Metoda sprawdza czy każdy arkusz jest widoczny.
  • Jeśli jest widoczny, ładuje wszystkie dane z tego arkusza.
  • Jeśli nie jest widoczny, ładowanie danych z danego arkusza zostanie pominięte.

Krok 5: Załaduj skoroszyt za pomocą opcji ładowania

Teraz załadujmy skoroszyt i wyświetlmy dane z widocznych arkuszy.

Workbook loadWorkbook = new Workbook(samplePath, loadOptions);
Console.WriteLine("Sheet1: A1: {0}", loadWorkbook.Worksheets["Sheet1"].Cells["A1"].Value);
Console.WriteLine("Sheet2: A1: {0}", loadWorkbook.Worksheets["Sheet2"].Cells["A1"].Value);

Ten fragment kodu wykorzystujeloadOptions aby zaimportować dane tylko z widocznych arkuszy i wyświetlić zawartość komórki A1 z „Arkusza1” i „Arkusza2”.

Wniosek

masz to! Udało Ci się nauczyć, jak ładować tylko widoczne arkusze z pliku Excela za pomocą Aspose.Cells dla .NET. Zarządzanie arkuszami kalkulacyjnymi Excela może być proste, gdy wiesz, jak ograniczyć pobierane dane i pracować tylko z tym, czego potrzebujesz. To nie tylko poprawia wydajność Twoich aplikacji, ale także sprawia, że Twój kod jest czystszy i łatwiejszy w zarządzaniu.

Najczęściej zadawane pytania

Czy w razie potrzeby mogę załadować ukryte arkusze?

Tak, wystarczy dostosować warunki w niestandardowym filtrze ładowania, aby uwzględnić ukryte arkusze.

Do czego służy Aspose.Cells?

Aspose.Cells służy do manipulowania plikami Excela bez konieczności instalowania programu Microsoft Excel. Oferuje takie funkcjonalności, jak czytanie, pisanie i zarządzanie arkuszami kalkulacyjnymi Excela.

Czy istnieje wersja próbna Aspose.Cells?

Tak, możeszpobierz bezpłatną wersję próbną aby przetestować jego funkcje.

Gdzie mogę znaleźć dokumentację Aspose.Cells?

Tendokumentacja zawiera kompleksowe informacje na temat wszystkich funkcji.

Jak mogę kupić Aspose.Cells?

Możesz łatwokup Aspose.Cells ze strony zakupu.