Kopiowanie arkusza kalkulacyjnego między skoroszytami programu Excel za pomocą Aspose.Cells

Wstęp

Przesyłanie danych między skoroszytami programu Excel jest powszechnym zadaniem w aplikacjach .NET, szczególnie w przypadku generowania raportów lub zarządzania szablonami. Na szczęście korzystanie z Aspose.Cells dla .NET sprawia, że proces ten jest prosty i wydajny. W tym samouczku przeprowadzimy Cię przez kroki kopiowania arkusza z jednego skoroszytu do drugiego, zapewniając Ci potężną kontrolę nad zarządzaniem danymi.

Wymagania wstępne

Zanim zaczniemy, upewnij się, że masz następujące narzędzia:

  1. Biblioteka Aspose.Cells dla .NET: Pobierz bibliotekęTutaj.
  2. Visual Studio lub podobne środowisko IDE: Będziesz go używać do pisania i wykonywania kodu .NET.
  3. Licencja Aspose: Aby ominąć ograniczenia dotyczące oceny, możeszZłóż wniosek o bezpłatny okres próbny lub uzyskaćlicencja tymczasowa.

Importuj pakiety

Zacznij od zaimportowania niezbędnych przestrzeni nazw do swojego projektu:

using System.IO;
using Aspose.Cells;
using System;

Te przestrzenie nazw dadzą ci dostęp do klas potrzebnych do efektywnego manipulowania skoroszytami i arkuszami kalkulacyjnymi programu Excel.

Krok 1: Ustaw ścieżkę katalogu

Najpierw zdefiniuj katalog, w którym będziesz przechowywać skoroszyty programu Excel. Uprości to późniejszy dostęp do plików.

// Ustaw ścieżkę do katalogu dokumentów.
string dataDir = "Your Document Directory";

Zastępować"Your Document Directory" z twoją rzeczywistą ścieżką.

Krok 2: Utwórz pierwszy skoroszyt

Utwórzmy nowy skoroszyt i dodajmy do niego arkusz.

// Utwórz nowy skoroszyt.
Workbook excelWorkbook0 = new Workbook();
// Otwórz pierwszy arkusz w skoroszycie.
Worksheet ws0 = excelWorkbook0.Worksheets[0];

Krok 3: Dodaj dane nagłówka

Wypełnij arkusz wierszami nagłówków, aby wyraźnie przedstawić swój zestaw danych.

// Wypełnij wiersze nagłówka (A1:A4).
for (int i = 0; i < 5; i++)
{
    ws0.Cells[i, 0].PutValue($"Header Row {i}");
}

Krok 4: Wypełnij wiersze danych szczegółowych

Dodaj szczegółową treść, aby nadać arkuszowi roboczemu odpowiedni kontekst.

// Wypełnij wiersze szczegółów (A5:A999).
for (int i = 5; i < 1000; i++)
{
    ws0.Cells[i, 0].PutValue($"Detail Row {i}");
}

Krok 5: Skonfiguruj ustawienia drukowania

Skonfiguruj stronę tak, aby wiersze nagłówka były powtarzane na wydrukowanych stronach. Jest to szczególnie przydatne w przypadku dużych raportów.

// Skonfiguruj ustawienia strony tak, aby wiersze nagłówka były powtarzane na każdej stronie.
PageSetup pageSetup = ws0.PageSetup;
pageSetup.PrintTitleRows = "$1:$5";

Krok 6: Utwórz drugi skoroszyt

Następnie utwórz drugi skoroszyt, który będzie zawierał skopiowany arkusz.

// Utwórz kolejny skoroszyt.
Workbook excelWorkbook1 = new Workbook();
// Otwórz pierwszy arkusz w skoroszycie.
Worksheet ws1 = excelWorkbook1.Worksheets[0];

Krok 7: Zmień nazwę arkusza docelowego

Zmień nazwę arkusza w drugim skoroszycie, aby ułatwić jego identyfikację.

// Zmień nazwę arkusza kalkulacyjnego.
ws1.Name = "MySheet";

Krok 8: Kopiowanie danych do arkusza docelowego

WykorzystajCopy metoda przeniesienia całego arkusza kalkulacyjnego z pierwszego skoroszytu do drugiego.

//Skopiuj dane z pierwszego arkusza pierwszego skoroszytu do pierwszego arkusza drugiego skoroszytu.
ws1.Copy(ws0);

Krok 9: Zapisz ostateczną wersję skoroszytu

Na koniec zapisz zmodyfikowany skoroszyt.

// Zapisz drugi skoroszyt.
excelWorkbook1.Save(dataDir + "CopyWorksheetFromWorkbookToOther_out.xls");

Wniosek

I masz! Możesz łatwo skopiować arkusz kalkulacyjny z jednego skoroszytu do drugiego, używając Aspose.Cells dla .NET. Ta metoda jest idealna do dużych zestawów danych, tworzenia szablonów i generowania raportów.

Najczęściej zadawane pytania

Czy mogę kopiować wiele arkuszy kalkulacyjnych jednocześnie?

Tak, możesz przeglądać wiele arkuszy kalkulacyjnych i kopiować je pojedynczo do innego skoroszytu.

Czy Aspose.Cells zachowuje formatowanie podczas kopiowania?

Absolutnie!Copy Metoda zachowuje całe formatowanie i style.

Jak mogę uzyskać dostęp do konkretnych komórek w skopiowanym arkuszu kalkulacyjnym?

Dostęp do określonych komórek można uzyskać za pomocąCells właściwość w arkuszu kalkulacyjnym.

A co jeśli chcę skopiować tylko wartości, bez formatowania?

Jeśli wolisz, możesz zaimplementować niestandardową metodę kopiowania wartości komórka po komórce.

Czy mogę przetestować tę funkcję bez licencji?

Tak, Aspose oferujebezpłatny okres próbny aby poznać jego funkcje.