Trong bài viết này, bạn sẽ học cách tạo Pivot Table trong Excel bằng C#. Ngoài ra, chúng tôi sẽ đề cập đến cách sắp xếp hoặc ẩn dữ liệu Bảng Pivot theo chương trình bằng cách sử dụng Aspose.Cells for .NET - API .NET để tạo và thao tác bảng tính Excel mà không yêu cầu Microsoft Excel.

Bảng Pivot trong Excel

Mọi thứ đã trở nên kỹ thuật số và các giải pháp tự động để tạo và thao tác trên bảng tính Excel được sử dụng rộng rãi. Bảng Pivot trong Excel được sử dụng rộng rãi để tóm tắt và phân tích dữ liệu. Trong khi đó, việc sắp xếp dữ liệu trong Bảng Pivot rất hữu ích để kiểm tra quan trọng dữ liệu khổng lồ trong bảng tính Excel. Việc sắp xếp dữ liệu trong Pivot Table có thể được áp dụng để sắp xếp các mục theo thứ tự bảng chữ cái (AZ hoặc ZA) cho các giá trị văn bản hoặc từ giá trị cao nhất đến thấp nhất hoặc thấp nhất đến cao nhất trong trường hợp số.

Dựa trên tầm quan trọng của Excel Pivot Tables, bài viết này nhằm hướng dẫn bạn cách:

  • tạo Bảng Pivot trong Excel qua C#,
  • sắp xếp Pivot Table theo giá trị trường hàng,
  • sắp xếp Pivot Table theo giá trị trường cột,
  • và ẩn các hàng của Pivot Table.

Để trình diễn, bảng tính Excel mẫu sau đây sẽ được sử dụng trong suốt các ví dụ.

Tạo Pivot Table trong Excel bằng C#

Tạo Pivot Table trong Excel bằng C#

Trước tiên, hãy xem cách tạo Bảng tổng hợp Excel trong C# bằng cách sử dụng Aspose.Cells for .NET. Khi chúng tôi đã tạo Bảng Pivot, chúng tôi sẽ ẩn các hàng và sắp xếp dữ liệu dựa trên các trường cột hoặc hàng của nó. Mẫu mã sau đây cho biết cách tạo Bảng tổng hợp Excel.

Workbook wb = new Workbook("SampleExcel.xlsx");

// Lấy tham chiếu của trang tính mới được thêm vào
Worksheet sheet = wb.Worksheets[0];

PivotTableCollection pivotTables = sheet.PivotTables;

// nguồn PivotTable
// Thêm PivotTable vào trang tính
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");

//Truy cập phiên bản của PivotTable mới được thêm vào
PivotTable pivotTable = pivotTables[index];

// Đang hiển thị tổng số lớn cho các hàng.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;

// Kéo trường đầu tiên vào khu vực hàng.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;

// Kéo trường thứ hai vào khu vực cột.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;

// Kéo trường thứ ba vào vùng dữ liệu.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);

pivotTable.RefreshData();
pivotTable.CalculateData();
// end of nguồn PivotTable

//Lưu tệp Excel
wb.Save("output.xlsx");

đầu ra

Tạo Pivot Table trong Excel trong ASP.NET

C# Tạo và sắp xếp Bảng tổng hợp Excel theo hàng

Trong phần trước, chúng ta chỉ cần tạo Pivot Table bằng cách sử dụng dữ liệu trong bảng tính Excel. Bây giờ, chúng ta sẽ tạo một Bảng Pivot khác và áp dụng sắp xếp trên dữ liệu. Mẫu mã sau đây tạo và sắp xếp PivotTable theo giá trị trường hàng “SeaFood”.

Workbook wb = new Workbook("SampleExcel.xlsx");

// Lấy tham chiếu của trang tính Excel.
Worksheet sheet = wb.Worksheets[0];

PivotTableCollection pivotTables = sheet.PivotTables;

// Thêm một PivotTable vào trang tính Excel.
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");

// Truy cập phiên bản của PivotTable mới được thêm vào.
PivotTable pivotTable = pivotTables[index];

// Đang hiển thị tổng số lớn cho các hàng.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;

// Kéo trường đầu tiên vào khu vực hàng.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;

// Kéo trường thứ hai vào khu vực cột.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;
colField.AutoSortField = 0;

// Kéo trường thứ ba vào vùng dữ liệu.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);

pivotTable.RefreshData();
pivotTable.CalculateData();

// Lưu tệp Excel.
wb.Save("output.xlsx");

đầu ra

Tạo và sắp xếp Pivot Table trong Excel

Sắp xếp Excel Pivot Table theo cột trong C#

Bạn cũng có thể sắp xếp dữ liệu trong Pivot Table theo giá trị trường cột. Mẫu mã C# sau áp dụng sắp xếp theo giá trị trường của cột “28/07/2000”.

Workbook wb = new Workbook("SampleExcel.xlsx");

// Lấy tham chiếu của trang tính Excel.
Worksheet sheet = wb.Worksheets[0];

PivotTableCollection pivotTables = sheet.PivotTables;

// Thêm một PivotTable vào trang tính Excel.
int index = pivotTables.Add("=Sheet1!A1:C10", "E3", "PivotTable2");

// Truy cập phiên bản của PivotTable mới được thêm vào.
PivotTable pivotTable = pivotTables[index];

// Đang hiển thị tổng số lớn cho các hàng.
pivotTable.RowGrand = false;
pivotTable.ColumnGrand = false;

// Kéo trường đầu tiên vào khu vực hàng.
pivotTable.AddFieldToArea(PivotFieldType.Row, 1);
PivotField rowField = pivotTable.RowFields[0];
rowField.IsAutoSort = true;
rowField.IsAscendSort = true;
colField.AutoSortField = 0;

// Kéo trường thứ hai vào khu vực cột.
pivotTable.AddFieldToArea(PivotFieldType.Column, 0);
PivotField colField = pivotTable.ColumnFields[0];
colField.NumberFormat = "dd/mm/yyyy";
colField.IsAutoSort = true;
colField.IsAscendSort = true;

// Kéo trường thứ ba vào vùng dữ liệu.
pivotTable.AddFieldToArea(PivotFieldType.Data, 2);

pivotTable.RefreshData();
pivotTable.CalculateData();

// Lưu tệp Excel.
wb.Save("output.xlsx");

đầu ra

Ẩn dữ liệu trong Pivot Table trong Excel

Ẩn các hàng của Bảng Pivot trong Excel trong C#

Bạn có thể ẩn các hàng trong Excel Pivot Table dựa trên một số điều kiện mà bạn muốn áp dụng. Mẫu mã sau đây cho biết cách ẩn các hàng cụ thể trong Bảng Pivot bằng 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;

// Sắp xếp giá trị giảm dần
PivotField field = pivotTable.RowFields[0];
field.IsAutoSort = true;
field.IsAscendSort = false;
field.AutoSortField = 0;

pivotTable.RefreshData();
pivotTable.CalculateData();

// Ẩn các hàng có giá trị nhỏ hơ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();

// Lưu tệp Excel
workbook.Save("PivotTableHideAndSort.xlsx");

Hãy xem tài liệu của Aspose.Cells for .NET để biết thêm chi tiết về cách làm việc với Bảng Pivot trong Excel bằng C# trong bất kỳ ứng dụng dựa trên .NET nào. Liên hệ với chúng tôi tại diễn đàn của chúng tôi trong trường hợp có bất kỳ câu hỏi hoặc thắc mắc nào.

Sự kết luận

Trong bài viết này, bạn đã học cách tạo bảng tổng hợp trong tệp Excel bằng C#. Ngoài ra, bạn đã biết cách sắp xếp hoặc ẩn dữ liệu trong bảng tổng hợp trong Excel bằng C#. Bạn có thể khám phá thêm về Aspose.Cells for .NET bằng cách sử dụng tài liệu.

Xem thêm