Як створити зведену таблицю в Excel за допомогою C#

У цьому короткому посібнику описано, як створити зведену таблицю в Excel за допомогою C#. Для програмного створення зведеної таблиці на C# надається код і детальний опис, щоб у кінці ви отримували файл XLSX (або XLS), який містить зведену таблицю без використання будь-якого іншого третього - партійний інструмент. Він також містить інструкції щодо додавання різних полів до різних областей зведеної таблиці.

Кроки для створення зведеної таблиці в C#

  1. Створіть середовище для додавання Aspose.Cells for .NET із менеджера пакетів NuGet для створення зведеної таблиці
  2. Створіть або завантажте існуючий workbook із даними для зведеної таблиці
  3. Отримайте доступ до цілі worksheet, де потрібно додати зведену таблицю
  4. Створіть зведену таблицю та отримайте її екземпляр для подальшої обробки
  5. Налаштуйте нову зведену таблицю та додайте різні поля до стовпця, рядка та області даних
  6. Збережіть отриману книгу зі зведеною таблицею

Після встановлення середовища для створення *зведеної таблиці C# Excel тут описано так, що ми створюємо тут нову книгу з жорстко закодованими даними, однак ви можете завантажити наявний файл Excel, який також містить у ньому цільові дані. У наступних кроках далі описується процес створення зведеної таблиці, а потім її налаштування. На останніх етапах різні поля додаються до різних областей зведеної таблиці, як-от стовпець, рядок і дані.

Код для створення зведеної таблиці в Excel за допомогою 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");
}
}
}

Цей зразок коду демонструє, як створити зведену таблицю в C#, надаючи діапазон даних і комірку призначення, куди має бути розміщена зведена таблиця, разом із назвою зведеної таблиці. У класі pivotTable є функція AddFieldToArea(), яка використовується для перетягування різних полів у різні області за допомогою pivotFieldType, як-от Column, Row або Data, разом із номером поля у вибраному діапазоні даних. За потреби можна також використати іншу сторінку pivotFieldType.

У цій статті ми навчилися додавати зведену таблицю Excel на C#. Якщо ви хочете навчитися експортувати дані зі списку в Excel, зверніться до статті як експортувати дані списку в Excel на C#.

 Українська