Jak utworzyć tabelę przestawną w programie Excel przy użyciu języka C#

Ten krótki samouczek przedstawia jak utworzyć tabelę przestawną w programie Excel przy użyciu języka C#. Aby programowo utworzyć tabelę przestawną, kod C# i szczegółowy opis są dostarczane w taki sposób, że na końcu otrzymasz plik XLSX (lub XLS) zawierający tabelę przestawną bez użycia jakichkolwiek innych - narzędzie imprezowe. Zawiera również kroki, które kierują dodawaniem różnych pól do różnych obszarów w tabeli przestawnej.

Kroki tworzenia tabeli przestawnej w języku C#

  1. Stwórz środowisko, aby dodać Aspose.Cells for .NET z menedżera pakietów NuGet do tworzenia tabeli przestawnej
  2. Utwórz lub załaduj istniejący workbook zawierający dane dla tabeli przestawnej
  3. Uzyskaj dostęp do miejsca docelowego worksheet, w którym ma zostać dodana tabela przestawna
  4. Utwórz tabelę przestawną i pobierz jej instancję do dalszego przetwarzania
  5. Skonfiguruj nową tabelę przestawną i dodaj różne pola do kolumny, wiersza i obszaru danych
  6. Zapisz wynikowy skoroszyt zawierający tabelę przestawną

Po ustanowieniu środowiska dla generowania tabeli przestawnej C# programu Excel opisano tutaj, że tworzymy tutaj nowy skoroszyt zawierający dane zakodowane na stałe, jednak można załadować istniejący plik programu Excel zawierający również dane docelowe. W kolejnych krokach dokładniej opisano proces tworzenia tabeli przestawnej, a następnie jej konfigurację. W końcowych krokach różne pola są dodawane do różnych obszarów tabeli przestawnej, takich jak kolumna, wiersz i dane.

Kod do tworzenia tabeli przestawnej w programie Excel przy użyciu języka C#

using System.IO;
using System.Text;
using Aspose.Cells;
namespace CreatePivotTableInExcelUsingCSharp
{
class Program
{
static void Main(string[] args) // Main function to set width of cell in CSharp
{
// Instantiate the license to remove trial version watermark in the output Excel file
Aspose.Cells.License licForCells= new Aspose.Cells.License();
licForCells.SetLicense("Aspose.Cells.lic");
// Set the hard-coded data. You may use an existing Excel file also if required
byte[] SrcDataByteArray = Encoding.ASCII.GetBytes(
$@"City,Product,Sales
Paris,Cream,2300
Paris,Lotion,1600
Tunis,Cream,900
Tunis,Lotion,1400
Tunis,Cream,3090
Tunis,Lotion,6000
Paris,Cream,4320" );
// Create a memory stream from the source data
MemoryStream dataStream = new MemoryStream( SrcDataByteArray );
// Create LoadOptions class object to load the comma-separated data given above
LoadOptions loadOptions = new LoadOptions(LoadFormat.Csv);
// Instantiate a workbook class object having above mentioned data
Workbook wbCSV = new Workbook(dataStream, loadOptions);
// Get access to the first worksheet in the collection
Worksheet targetSheet = wbCSV.Worksheets[0];
// Get collection of pivot tables in the target worksheet
Aspose.Cells.Pivot.PivotTableCollection pvTablesCollection = targetSheet.PivotTables;
// Get pivot table index after adding a new pivot table by provding source data range and destination cell
int iNewPivotTable = pvTablesCollection.Add("=A1:C8", "F3", "MyPivotTable");
// Get the instance of newly added pivot table for further processing
Aspose.Cells.Pivot.PivotTable newPivotTable = pvTablesCollection[iNewPivotTable];
// Hide the grand total for rows in the output Excel file
newPivotTable.RowGrand = false;
// Add the first field to the column area
newPivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Column, 0);
// Add the second field to the row area
newPivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Row, 1);
// Add the third field to the data area
newPivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Data, 2);
// Saving the output Excel file with pivot table
wbCSV.Save("OutputPivotTable.xlsx");
System.Console.WriteLine("Done");
}
}
}

Ten przykładowy kod pokazuje, jak utworzyć tabelę przestawną w języku C#, podając zakres danych i komórkę docelową, w której ma zostać umieszczona tabela przestawna, wraz z nazwą tabeli przestawnej. Klasa pivotTable ma funkcję AddFieldToArea(), która służy do przeciągania różnych pól do różnych obszarów przy użyciu typu pivotFieldType, takiego jak Column, Row lub Data, wraz z numerem pola w wybranym zakresie danych. W razie potrzeby można również użyć innej strony typu pivotFieldType.

W tym artykule nauczyliśmy się dodawać tabelę przestawną programu Excel w języku C#. Jeśli chcesz dowiedzieć się, jak eksportować dane z listy do programu Excel, zapoznaj się z artykułem na temat jak wyeksportować dane listy do Excela w C#.

 Polski