Jak vytvořit kontingenční tabulku v Excelu pomocí C#

Tento stručný tutoriál vás seznámí s tím, jak vytvořit kontingenční tabulku v Excelu pomocí C#. Pro vytvoření kontingenční tabulky programově C# je poskytnut kód a podrobný popis tak, že na konci získáte soubor XLSX (nebo XLS) obsahující kontingenční tabulku bez použití jakékoli další třetí - party nástroj. Obsahuje také kroky, které vedou k přidávání různých polí do různých oblastí v kontingenční tabulce.

Kroky k vytvoření kontingenční tabulky v C#

  1. Vytvořte prostředí pro přidání Aspose.Cells for .NET ze správce balíčků NuGet pro vytváření kontingenční tabulky
  2. Vytvořte nebo načtěte existující workbook obsahující data pro kontingenční tabulku
  3. Získejte přístup k cíli worksheet, kam má být přidána kontingenční tabulka
  4. Vytvořte kontingenční tabulku a získejte její instanci pro další zpracování
  5. Nakonfigurujte novou kontingenční tabulku a přidejte různá pole do oblasti sloupců, řádků a dat
  6. Uložte výsledný sešit s kontingenční tabulkou

Po vytvoření prostředí pro generování kontingenční tabulky C# Excel je zde popsáno tak, že zde vytvoříme nový sešit s pevně zakódovanými daty, ale můžete načíst existující soubor Excelu, který obsahuje také cílová data. V dalších krocích dále popisuje proces vytvoření kontingenční tabulky a následně její konfiguraci. V posledních krocích se do různých oblastí v kontingenční tabulce přidají různá pole, jako je sloupec, řádek a data.

Kód pro vytvoření kontingenční tabulky v Excelu pomocí 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");
}
}
}

Tento ukázkový kód ukazuje, jak vytvořit kontingenční tabulku v C# poskytnutím rozsahu dat a cílové buňky, kam má být kontingenční tabulka umístěna spolu s názvem kontingenční tabulky. Třída pivotTable má funkci AddFieldToArea(), která se používá k přetažení různých polí do různých oblastí pomocí pivotFieldType jako Column, Row nebo Data spolu s číslem pole ve vybraném rozsahu dat. V případě potřeby můžete také použít jinou stránku pivotFieldType.

V tomto článku jsme se naučili přidat kontingenční tabulku Excelu v C#. Pokud se chcete naučit exportovat data v seznamu do Excelu, přečtěte si článek na jak exportovat data seznamu do Excelu v C#.

 Čeština