Eksportuj dane z arkusza kalkulacyjnego Excel do tabeli

W tym samouczku nauczymy się, jak eksportować dane z arkusza kalkulacyjnego programu Excel i tworzyć tabelę w dokumencie PDF przy użyciu biblioteki Aspose.PDF dla .NET. Przejdziemy przez kod źródłowy krok po kroku i szczegółowo wyjaśnimy każdą sekcję. Do końca tego samouczka będziesz w stanie generować pliki PDF z tabelami zawierającymi dane z arkuszy kalkulacyjnych programu Excel. Zaczynajmy!

Wymagania

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

  • Podstawowa znajomość języka programowania C#
  • Visual Studio zainstalowane na Twoim komputerze
  • Biblioteka Aspose.PDF dla .NET została dodana do Twojego projektu

Krok 1: Konfigurowanie środowiska

Na początek utwórz nowy projekt C# w programie Visual Studio. Dodaj odwołanie do biblioteki Aspose.PDF dla .NET, klikając prawym przyciskiem myszy na projekt w Eksploratorze rozwiązań, wybierając „Zarządzaj pakietami NuGet” i wyszukując „Aspose.PDF”. Zainstaluj pakiet i gotowe.

Krok 2: Ładowanie arkusza kalkulacyjnego programu Excel

W pierwszym kroku naszego kodu definiujemy ścieżkę do katalogu zawierającego dokument Excel. Zastąp „YOUR DOCUMENT DIRECTORY” rzeczywistą ścieżką katalogu, w którym znajduje się plik Excel.

// Ścieżka do katalogu dokumentów.
string dataDir = "YOUR DOCUMENT DIRECTORY";

Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));

Tutaj używamy biblioteki Aspose.Cells do załadowania skoroszytu programu Excel. Upewnij się, że „newBook1.xlsx” zostało zastąpione nazwą pliku programu Excel.

Krok 3: Dostęp do arkusza kalkulacyjnego

Następnie musimy uzyskać dostęp do pierwszego arkusza kalkulacyjnego w pliku Excel. Robimy to za pomocąWorksheets kolekcjaWorkbook obiekt.

// Dostęp do pierwszego arkusza kalkulacyjnego w pliku Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

Jeśli plik Excel zawiera wiele arkuszy kalkulacyjnych, możesz zmienić wartość indeksu[0] aby uzyskać dostęp do innego arkusza kalkulacyjnego.

Krok 4: Eksportowanie danych do DataTable

Teraz wyeksportujemy zawartość arkusza kalkulacyjnego programu Excel doDataTable obiekt. Określamy zakres komórek do eksportu za pomocąExportDataTable metoda.

// Eksportowanie zawartości 7 wierszy i 2 kolumn, zaczynając od 1 komórki, do tabeli danych
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);

W tym przykładzie eksportujemy wszystkie wiersze i kolumny, zaczynając od pierwszej komórki (0, 0) do ostatniej komórki w arkuszu. Ustaw odpowiedni zakres na podstawie swoich wymagań.

Krok 5: Tworzenie dokumentu PDF

Teraz utworzymy nowy dokument PDF korzystając z biblioteki Aspose.PDF.

// Utwórz wystąpienie dokumentu
Aspose.Pdf.Document pdf1 = new Aspose.Pdf.Document();

Tworzy pusty dokument PDF, do którego możemy dodać treść.

Krok 6: Dodawanie strony i tabeli

Aby wyświetlić dane w formie tabeli, musimy dodać stronę i tabelę do dokumentu PDF.

// Utwórz stronę w instancji dokumentu
Aspose.Pdf.Page sec1 = pdf1.Pages.Add();

// Utwórz obiekt tabeli
Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();

// Dodaj obiekt Tabela w kolekcji akapitów sekcji
sec1.Paragraphs.Add(tab1);

Tutaj tworzymy nową stronę i obiekt tabeli. Następnie dodajemy tabelę do kolekcji paragrafów strony.

Krok 7: Ustawianie właściwości tabeli

Przed zaimportowaniem danych musimy ustawić pewne właściwości tabeli, takie jak szerokości kolumn i domyślne obramowania komórek.

// Ustaw szerokości kolumn tabeli
tab1.ColumnWidths = "40 100 100";

// Ustaw domyślną ramkę komórki tabeli za pomocą obiektu BorderInfo
tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);

W tym przykładzie ustawiliśmy szerokości kolumn na 40, 100 i 100 jednostek. Dostosuj wartości na podstawie swoich danych. Ustawiamy również domyślną ramkę komórki, aby wyświetlać obramowania po wszystkich stronach każdej komórki.

Krok 8: Importowanie danych do tabeli

Teraz zaimportujemy dane zDataTable obiekt do tabeli za pomocąImportDataTable metoda.

// Importuj dane do obiektu Tabela z tabeli DataTable utworzonej powyżej
tab1.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);

Tutaj określamy zakres wierszy i kolumn do zaimportowania. W tym przykładzie importujemy wszystkie wiersze i kolumny zdataTable obiekt.

Krok 9: Formatowanie tabeli

Aby poprawić wygląd tabeli, możemy zastosować formatowanie do określonych komórek lub wierszy. W tym kroku sformatujemy pierwszy wiersz i naprzemienne wiersze tabeli.

// Wybierz 1 rząd ze stołu
Aspose.Pdf.Row row1 = tab1.Rows[0];

// Sformatuj pierwszy wiersz
foreach(Aspose.Pdf.Cell curCell in row1.Cells)
{
     // Ustaw kolor tła komórek w pierwszym wierszu
     curCell.BackgroundColor = Color.Blue;// Ustaw twarz dla komórek w pierwszym rzędzie
     curCell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
    
     // Ustaw kolor czcionki komórek w pierwszym wierszu
     curCell.DefaultCellTextState.ForegroundColor = Color.Yellow;
    
     // Ustaw wyrównanie tekstu dla komórek w pierwszym wierszu
     curCell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}

// Alternatywny format wiersza
for (int All_Rows = 1; All_Rows <= dataTable.Rows.Count; All_Rows++)
{
     foreach(Aspose.Pdf.Cell curCell in tab1.Rows[All_Rows].Cells)
     {
         // Ustaw kolor tła komórek w naprzemiennych wierszach
         curCell.BackgroundColor = Color.Gray;
        
         // Ustaw kolor tekstu komórek w naprzemiennych wierszach
         curCell.DefaultCellTextState.ForegroundColor = Color.White;
     }
}

Tutaj przechodzimy przez komórki w pierwszym wierszu i ustawiamy ich kolor tła, krój czcionki, kolor czcionki i wyrównanie tekstu. Następnie przechodzimy przez wszystkie komórki w naprzemiennych wierszach i ustawiamy ich kolor tła i tekstu.

Krok 10: Zapisywanie dokumentu PDF

Na koniec zapisujemy dokument PDF w podanej lokalizacji.

// Zapisz plik PDF
pdf1.Save(dataDir + @"Exceldata_toPdf_table.pdf");

Pamiętaj o zastąpieniu „KATALOGU DOKUMENTÓW” żądaną ścieżką do katalogu i nazwą pliku wyjściowego PDF.

Przykładowy kod źródłowy dla eksportu danych z arkusza kalkulacyjnego programu Excel do tabeli przy użyciu Aspose.PDF dla platformy .NET

// Ścieżka do katalogu dokumentów.
string dataDir = "YOUR DOCUMENT DIRECTORY";

Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(new FileStream(dataDir + "newBook1.xlsx", FileMode.Open));
// Dostęp do pierwszego arkusza kalkulacyjnego w pliku Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];
// Eksportowanie zawartości 7 wierszy i 2 kolumn, zaczynając od 1 komórki, do tabeli danych
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxRow + 1, worksheet.Cells.MaxColumn + 1, true);

// Utwórz instancję dokumentu
Aspose.Pdf.Document pdf1 = new Aspose.Pdf.Document();
// Utwórz stronę w instancji dokumentu
Aspose.Pdf.Page sec1 = pdf1.Pages.Add();

// Utwórz obiekt tabeli
Aspose.Pdf.Table tab1 = new Aspose.Pdf.Table();

// Dodaj obiekt Tabela w kolekcji akapitów sekcji
sec1.Paragraphs.Add(tab1);

// Ustaw szerokości kolumn tabeli. Musimy określić ColumnCount ręcznie.
// Ponieważ bieżący arkusz kalkulacyjny programu Excel ma trzy kolumny, określamy tę samą liczbę
tab1.ColumnWidths = "40 100 100";

// Ustaw domyślną ramkę komórki tabeli za pomocą obiektu BorderInfo
tab1.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);

// Importuj dane do obiektu Tabela z tabeli DataTable utworzonej powyżej
tab1.ImportDataTable(dataTable, true, 0, 0, dataTable.Rows.Count + 1, dataTable.Columns.Count);
// Wybierz 1 rząd ze stołu
Aspose.Pdf.Row row1 = tab1.Rows[0];

// Przejdź przez wszystkie komórki w pierwszym wierszu i ustaw ich kolor tła na niebieski
foreach (Aspose.Pdf.Cell curCell in row1.Cells)
{
	// Ustaw tło wszystkich komórek w pierwszym wierszu tabeli.
	curCell.BackgroundColor = Color.Blue;
	// Ustaw czcionkę dla komórek pierwszego wiersza tabeli.
	curCell.DefaultCellTextState.Font = Aspose.Pdf.Text.FontRepository.FindFont("Helvetica-Oblique");
	// Ustaw kolor czcionki wszystkich komórek w pierwszym wierszu tabeli.
	curCell.DefaultCellTextState.ForegroundColor = Color.Yellow;
	// Ustaw wyrównanie tekstu dla komórek pierwszego wiersza na Środek.
	curCell.DefaultCellTextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
}

for (int All_Rows = 1; All_Rows <= dataTable.Rows.Count; All_Rows++)
{
	// Przejdź przez wszystkie komórki w pierwszym wierszu i ustaw ich kolor tła na niebieski
	foreach (Aspose.Pdf.Cell curCell in tab1.Rows[All_Rows].Cells)
	{
		// Ustaw kolor tła wszystkich komórek oprócz pierwszego wiersza.
		curCell.BackgroundColor = Color.Gray;
		// Ustaw kolor tekstu wszystkich komórek oprócz pierwszego wiersza.
		curCell.DefaultCellTextState.ForegroundColor = Color.White;
	}
}

// Zapisz plik PDF
pdf1.Save(dataDir + @"Exceldata_toPdf_table.pdf");

Wniosek

tym samouczku nauczyliśmy się, jak eksportować dane z arkusza kalkulacyjnego programu Excel do tabeli PDF przy użyciu biblioteki Aspose.PDF dla .NET. Omówiliśmy krok po kroku proces ładowania arkusza kalkulacyjnego programu Excel, tworzenia dokumentu PDF, dodawania tabeli, importowania danych i formatowania tabeli. Teraz możesz programowo generować pliki PDF z tabelami zawierającymi dane programu Excel.

Najczęściej zadawane pytania

P: Jaki jest cel eksportowania danych z arkusza kalkulacyjnego Excel do tabeli PDF?

A: Eksportowanie danych z arkusza kalkulacyjnego programu Excel do tabeli PDF umożliwia prezentację danych w ustrukturyzowanym i zorganizowanym formacie. Umożliwia generowanie plików PDF z tabelami zawierającymi dane z arkuszy kalkulacyjnych programu Excel, co ułatwia udostępnianie i przechowywanie informacji w przenośnym formacie dokumentu.

P: Czy mogę dostosować wygląd tabeli PDF?

A: Tak, możesz dostosować wygląd tabeli PDF, korzystając z różnych właściwości udostępnianych przez Aspose.PDF dla .NET. W dostarczonym kodzie źródłowym C# możesz modyfikować szerokości kolumn, obramowania komórek, wyrównanie tekstu, styl czcionki i wiele więcej, aby dostosować je do swoich konkretnych wymagań.

P: Jak obsługiwać pliki Excel zawierające wiele arkuszy kalkulacyjnych?

A: W podanym kodzie C# uzyskaliśmy dostęp do pierwszego arkusza kalkulacyjnego w pliku Excel, korzystając z indeksu[0] . Jeśli plik Excel zawiera wiele arkuszy kalkulacyjnych, możesz uzyskać do nich dostęp, zmieniając odpowiednio wartość indeksu, np.[1] dla drugiego arkusza roboczego lub[2] dla trzeciego arkusza.

P: Czy mogę zastosować inne formatowanie do konkretnych wierszy lub komórek w tabeli PDF?

A: Tak, możesz zastosować różne formatowanie do konkretnych wierszy lub komórek w tabeli PDF. W podanym kodzie źródłowym C# pokazaliśmy, jak inaczej sformatować pierwszy wiersz i naprzemienne wiersze, zmieniając ich kolor tła, styl czcionki i kolor czcionki. Możesz zastosować podobne techniki formatowania do dowolnych konkretnych wierszy lub komórek, jeśli zajdzie taka potrzeba.

P: Czy Aspose.PDF dla platformy .NET to jedyna biblioteka umożliwiająca eksportowanie danych z programu Excel do tabeli PDF?

A: Aspose.PDF dla .NET to potężna biblioteka do pracy z dokumentami PDF w aplikacjach .NET. Chociaż mogą być dostępne inne biblioteki, Aspose.PDF dla .NET oferuje szeroki zakres funkcji i możliwości generowania, manipulowania i eksportowania plików PDF z tabelami z danych Excel, co czyni ją popularnym wyborem do takich zadań.