Pivottabeller är ett kraftfullt verktyg i Excel för att sammanfatta och analysera data. De låter dig snabbt omvandla en stor datamängd till ett mer hanterbart och meningsfullt format. I den här artikeln får du lära dig hur du skapar pivottabell i Excel i C#. Vi kommer också att ta upp hur man sorterar eller döljer pivottabelldata programmatiskt med hjälp av Aspose.Cells for .NET - ett .NET API för att skapa och manipulera Excel-kalkylblad utan att behöva Microsoft Excel.
Baserat på vikten av Excel-pivottabeller, syftar den här artikeln till att visa dig hur du:
- Installation - C# .NET-bibliotek för att skapa Excel-pivottabeller
- Pivottabeller i Excel
- Skapa en pivottabell i Excel i C#
- Sortera Excel-pivottabell efter radfältvärden
- Sortera Excel-pivottabell efter kolumnfältvärden
- Dölj Excel-pivottabellrader
C#-bibliotek för att skapa Excel-pivottabeller
För att skapa pivottabeller i Excel-filer installerar vi först Aspose.Cells for .NET. Du kan antingen ladda ner dess DLL eller installera den från NuGet.
PM> NuGet\Install-Package Aspose.Cells
Pivottabeller i Excel
De automatiserade lösningarna för generering och manipulering av Excel-kalkylblad används i stor utsträckning. Pivottabellerna i Excel används flitigt för att sammanfatta och analysera data. Att sortera data i pivottabellerna är mycket användbart för kritisk inspektion av enorma data i Excel-kalkylblad. Sorteringen av data i pivottabeller kan användas för att ordna objekten alfabetiskt (AZ eller ZA) för textvärden eller från högsta till lägsta eller lägsta till högsta värden vid siffror.
Skapa en pivottabell i Excel i C#
Låt oss först kolla in hur man skapar en Excel-pivottabell i C# med Aspose.Cells för .NET. När vi har skapat pivottabellen gömmer vi raderna och sorterar data baserat på dess kolumn eller radfälten. För demonstrationen används följande exempel på Excel-kalkylblad i exemplen.
Följande kodexempel visar hur man skapar en Excel-pivottabell i C#.
Workbook wb = new Workbook("SampleExcel.xlsx");
// Få referensen till det nyligen tillagda kalkylbladet
Worksheet sheet = wb.Worksheets[0];
PivotTableCollection pivotTables = sheet.PivotTables;
// källpivottabell
// Lägga till en pivottabell i kalkylbladet
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");
//Åtkomst till instansen av den nyligen tillagda pivottabellen
PivotTable pivotTable = pivotTables[index];
// Avvisar totalsummor för rader.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;
// Dra det första fältet till radområdet.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;
// Dra det andra fältet till kolumnområdet.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;
// Dra det tredje fältet till dataområdet.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);
pivotTable.RefreshData();
pivotTable.CalculateData();
// end of källpivottabell
//Sparar Excel-filen
wb.Save("output.xlsx");
Produktion
Skapa och sortera Excel-pivottabell efter rad
I föregående avsnitt skapade vi helt enkelt pivottabellen med hjälp av data i Excel-kalkylarket. Nu skapar vi en annan pivottabell och tillämpar sorteringen på data. Följande kodexempel skapar och sorterar pivottabellen efter “SeaFood”-radfältvärden.
Workbook wb = new Workbook("SampleExcel.xlsx");
// Få referensen till Excel-kalkylbladet.
Worksheet sheet = wb.Worksheets[0];
PivotTableCollection pivotTables = sheet.PivotTables;
// Lägga till en pivottabell i Excel-kalkylbladet.
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");
// Åtkomst till instansen av den nyligen tillagda pivottabellen.
PivotTable pivotTable = pivotTables[index];
// Avvisar totalsummor för rader.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;
// Dra det första fältet till radområdet.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;
// Dra det andra fältet till kolumnområdet.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;
colField.AutoSortField = 0;
// Dra det tredje fältet till dataområdet.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);
pivotTable.RefreshData();
pivotTable.CalculateData();
// Sparar Excel-filen.
wb.Save("output.xlsx");
Produktion
Sortera Excel-pivottabell efter kolumn i C#
Du kan också sortera data i en pivottabell efter kolumnfältvärdena. Följande C#-kodexempel tillämpar sorteringen på fältvärden i kolumnen “28/07/2000”.
Workbook wb = new Workbook("SampleExcel.xlsx");
// Få referensen till Excel-kalkylbladet.
Worksheet sheet = wb.Worksheets[0];
PivotTableCollection pivotTables = sheet.PivotTables;
// Lägga till en pivottabell i Excel-kalkylbladet.
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");
// Åtkomst till instansen av den nyligen tillagda pivottabellen.
PivotTable pivotTable = pivotTables[index];
// Avvisar totalsummor för rader.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;
// Dra det första fältet till radområdet.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;
colField.AutoSortField = 0;
// Dra det andra fältet till kolumnområdet.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;
// Dra det tredje fältet till dataområdet.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);
pivotTable.RefreshData();
pivotTable.CalculateData();
// Sparar Excel-filen.
wb.Save("output.xlsx");
Produktion
Dölj pivottabellrader i Excel
Du kan dölja raderna i Excel-pivottabellen baserat på vissa villkor som du vill tillämpa. Följande kodexempel visar hur man döljer specifika rader i pivottabellen med C#.
Workbook workbook = new Workbook("output.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
var pivotTable = worksheet.PivotTables[0];
var dataBodyRange = pivotTable.DataBodyRange;
int currentRow = 1;
int rowsUsed = dataBodyRange.EndRow;
// Sortera värden i fallande
PivotField field = pivotTable.RowFields[0];
field.IsAutoSort = true;
field.IsAscendSort = false;
field.AutoSortField = 0;
pivotTable.RefreshData();
pivotTable.CalculateData();
// Döljer rader med värde mindre än 15
while (currentRow < rowsUsed)
{
Cell cell = worksheet.Cells[currentRow, 2];
double score = Convert.ToDouble(cell.Value);
if (score < 15)
{
worksheet.Cells.HideRow(currentRow);
}
currentRow++;
}
pivotTable.RefreshData();
pivotTable.CalculateData();
// Sparar Excel-filen
workbook.Save("PivotTableHideAndSort.xlsx");
Använd Aspose.Cells gratis
Du kan få en gratis tillfällig licens för att använda Aspose.Cells för .NET utan några utvärderingsbegränsningar.
Utforska C# .NET Excel-biblioteket
Ta en titt på dokumentationen av Aspose.Cells för .NET för mer information om hur du arbetar med pivottabeller i Excel med C# i alla .NET-baserade program. Kontakta oss på vårt forum om du har några frågor eller funderingar.
Slutsats
Att skapa pivottabeller i Excel-ark med C# och Aspose.Cells för .NET är ett kraftfullt sätt att automatisera dataanalysuppgifter. Det här biblioteket förenklar processen och låter dig arbeta med Excel-filer programmatiskt, vilket gör det lättare att hantera och manipulera data.
Genom att följa stegen som beskrivs i det här blogginlägget kan du komma igång med att skapa pivottabeller i dina C#-applikationer, vilket gör dataanalys och rapportering mer effektiv och effektiv. Dessutom kan du sortera eller dölja data i pivottabeller i Excel-ark sömlöst.