Hướng dẫn ngắn gọn này hướng dẫn cách tạo bảng tổng hợp trong Excel bằng C#. Để tạo bảng tổng hợp theo cách lập trình, mã C# và mô tả chi tiết được cung cấp sao cho ở phần cuối, bạn sẽ nhận được tệp XLSX (hoặc XLS) có bảng tổng hợp trong đó mà không cần sử dụng bất kỳ thứ ba nào khác -công cụ bên. Nó cũng chứa các bước hướng dẫn thêm các trường khác nhau vào các khu vực khác nhau trong bảng tổng hợp.
Các bước tạo Pivot Table trong C#
- Thiết lập môi trường để thêm Aspose.Cells for .NET từ trình quản lý gói NuGet để tạo bảng tổng hợp
- Tạo hoặc tải một workbook hiện có dữ liệu cho bảng tổng hợp
- Nhận quyền truy cập vào mục tiêu worksheet nơi bảng tổng hợp sẽ được thêm vào
- Tạo một bảng tổng hợp và lấy phiên bản của nó để xử lý thêm
- Định cấu hình bảng tổng hợp mới và thêm các trường khác nhau vào cột, hàng và vùng dữ liệu
- Lưu sổ làm việc kết quả có bảng tổng hợp trong đó
Sau khi thiết lập môi trường cho việc tạo bảng tổng hợp C# Excel được mô tả ở đây để chúng tôi tạo sổ làm việc mới ở đây có dữ liệu được mã hóa cứng, tuy nhiên, bạn có thể tải tệp Excel hiện có cũng có dữ liệu đích trong đó. Trong các bước tiếp theo, nó mô tả thêm quá trình tạo một pivotTable và sau đó là cấu hình của nó. Trong các bước cuối cùng, các trường khác nhau được thêm vào các khu vực khác nhau trong bảng tổng hợp như cột, hàng và dữ liệu.
Code để tạo Pivot Table trong Excel bằng 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"); | |
} | |
} | |
} |
Mã mẫu này trình bày cách tạo bảng tổng hợp trong C# bằng cách cung cấp phạm vi dữ liệu và ô đích nơi đặt bảng tổng hợp cùng với tên bảng tổng hợp. Lớp pivotTable có một hàm AddFieldToArea() được sử dụng để kéo các trường khác nhau đến các khu vực khác nhau bằng cách sử dụng pivotFieldType như Cột, Hàng hoặc Dữ liệu cùng với số trường trong phạm vi dữ liệu đã chọn. Bạn cũng có thể sử dụng một Trang pivotFieldType khác nếu cần.
Trong bài viết này, chúng ta đã học cách thêm bảng tổng hợp Excel trong C#. Nếu bạn muốn tìm hiểu cách xuất dữ liệu trong danh sách sang Excel, hãy tham khảo bài viết trên cách xuất dữ liệu danh sách sang Excel trong C#.