Aspose.Cells không chỉ là một trình đọc/ghi bảng tính—nó là một động cơ tính toán và báo cáo tương thích với Excel cho phép bạn biến dữ liệu thô thành tài liệu báo cáo mà không cần cài đặt Microsoft Office ở bất kỳ đâu trong quy trình của bạn. Đây là một bản đồ mở rộng về những gì “phân tích dữ liệu, xử lý và báo cáo chuyên nghiệp” thực sự trông như thế nào với API, cùng với các số liệu hiệu suất cụ thể và các mẫu mã mà bạn có thể dán vào dự án của mình ngay hôm nay.
1. Chuẩn bị Môi trường
Đầu tiên, hãy đảm bảo thư viện Aspose.Cells cho Go qua C++ đã được cài đặt.
# Linux/macOS
ls $(go env GOMODCACHE)
# Windows (PowerShell)
Get-ChildItem $env:GOPATH\github.com\aspose-cells\aspose-cells-go-cpp\
Thứ hai, cách cài đặt thư viện Aspose.Cells cho Go qua C++, vui lòng tham khảo Tài liệu trực tuyến Aspose.Cells cho Go qua C++ hoặc Readme Aspose.Cells cho Go qua C++.
2. Tải dữ liệu và các thao tác cơ bản
Các chức năng chính trong Aspose.Cells cho Go qua C++:
- Tạo hoặc tải một bảng tính
- Sắp xếp dữ liệu
- Lọc dữ liệu
- Định dạng điều kiện
Chúng tôi sẽ tận dụng hệ sinh thái GoLang, kết hợp với các API Aspose.Cells cho Go qua C++, mã thực tiễn, kịch bản ứng dụng và các phương pháp tốt nhất, để giúp khách hàng xử lý dữ liệu Excel một cách hiệu quả.
- Vui lòng xem mã sau để tìm hiểu cách tạo một bảng tính hoặc tải một bảng tính hiện có.
// Tạo Workbook mới, và lấy worksheet có chỉ số là 0
workbook, _ := NewWorkbook()
worksheets, _ := workbook.GetWorksheets()
worksheet, _ := worksheets.Get_Int(0)
// Tải một tệp Excel hiện có, và lấy worksheet có chỉ số là 0
sourceWorkbook, _ := NewWorkbook_String("data_source.xlsx")
sourceWorksheets, _ := sourceWorkbook.GetWorksheets()
sourceWorksheet, _ := sourceWorksheets.Get_Int(0)
- Vui lòng xem mã sau để tìm hiểu cách sắp xếp dữ liệu trong một tệp Excel.
// Tạo khu vực ô
cell_area ,_ := CellArea_CreateCellArea_Int_Int_Int_Int(0,0,100,10)
// Tạo DataSorter
sorter, _ = workbook.GetDataSorter()
// Đặt quy tắc thứ tự sắp xếp
sorter.SetOrder1(SortOrder_Ascending)
// Đặt cột sắp xếp
sorter.SetKey1(0)
// Sắp xếp
sorter.Sort()
- Vui lòng xem mã sau để tìm hiểu cách lọc dữ liệu trong một tệp Excel.
// Lấy bộ lọc tự động của worksheet
filter,_ = worksheet.GetAutoFilter()
// Đặt Phạm vi, tham số là phạm vi của ô, kiểu dữ liệu là chuỗi.
filter.SetRange_String("A1:D1000")
// Lọc tùy chỉnh, Cột thứ hai lớn hơn hoặc bằng giá trị 100
filter.Filter(1, ">=100");
// làm mới dữ liệu
filter.Refresh();
- Vui lòng xem mã sau để tìm hiểu cách đặt định dạng điều kiện cho một khu vực ô trong một tệp Excel.
// Lấy các ô với worksheet.
cells ,_ := worksheet.GetCells()
// Lấy các điều kiện định dạng với các ô.
formatConditions,_ = cells.GetFormatConditions()
// Thêm một định dạng điều kiện, trả về chỉ số.
index,_ = formatConditions.Add()
// Lấy một định dạng điều kiện với chỉ số điều kiện định dạng.
condition,_ = formatConditions.Get(index)
// Đặt Quy tắc Định dạng Điều kiện
// Đặt Công thức Định dạng Điều kiện
condition.SetFormula1_String("=B2>1000")
// Đặt Toán tử Định dạng Điều kiện
condition.SetOperator(OperatorType_GreaterThan)
// Đặt Kiểu Định dạng
// Tạo một kiểu mới
style,_ := workbook.CreateStyle();
// Lấy phông chữ của kiểu
font,_ := style.GetFont()
// Lấy màu đỏ
red_color, _ := Color_Red()
// Đặt màu phông chữ thành màu đỏ
font.SetColor(red_color)
// Đặt phông chữ in đậm
font.SetIsBold(true)
// Đặt kiểu cho định dạng điều kiện
condition.SetStyle(style)
3. Phân tích Dữ liệu Nâng cao
Bảng Pivot
Bảng pivot thực hiện tóm tắt đa chiều của dữ liệu thô để nhanh chóng có được cái nhìn sâu sắc về xu hướng, so sánh và phân phối. Ví dụ: Dữ liệu bán hàng được tóm tắt theo khu vực, danh mục sản phẩm và quý để phân tích sản phẩm nào hoạt động tốt nhất ở khu vực nào.
Công thức
Nhúng các công thức động trong Excel để làm cho báo cáo tự động cập nhật (ví dụ: Biên lợi nhuận = Lợi nhuận / Doanh thu). Ví dụ: Thêm một cột “Biên lợi nhuận gộp” trong bảng tóm tắt với công thức (Doanh thu - Chi phí) / Doanh thu, sẽ tự động tính toán lại khi dữ liệu gốc được cập nhật.
Biểu đồ
Biểu đồ trực quan hóa dữ liệu, giúp dễ dàng xác định các mẫu, bất thường và xu hướng. Ví dụ: Một biểu đồ cột hiển thị doanh số theo khu vực, hoặc một biểu đồ đường theo chuỗi thời gian của doanh số sản phẩm.
- Vui lòng xem mã sau để tìm hiểu cách sử dụng bảng pivot để hiển thị dữ liệu trong một tệp Excel.
// Lấy bộ chứa bảng pivot cho worksheet.
pivotTables,_ := worksheet.GetPivotTables()
// Tạo một bảng pivot, trả về chỉ số.
index,_ := pivotTables.Add_String_String_String("=A1:D100", "E3", "PivotTable1")
// Lấy một bảng pivot với chỉ số
pivotTable,_ := pivotTables.Get_Int(index);
// Cấu hình các Trường Bảng Pivot cho một bảng pivot.
// Thêm trường hàng.
pivotTable.AddFieldToArea_PivotFieldType_Int(PivotFieldType_Row, 0)
// Thêm trường cột.
pivotTable.AddFieldToArea_PivotFieldType_Int(PivotFieldType_Column, 1)
// Thêm trường dữ liệu.
pivotTable.AddFieldToArea_PivotFieldType_Int(PivotFieldType_Data, 3)
// Đặt phương pháp tóm tắt dữ liệu
dataFields,_ := pivotTable.GetDataFields()
dataField, _ := dataFields.Get_Int(0)
dataField.SetFunction(ConsolidationFunction_Sum);
pivotTable.CalculateData();
- Vui lòng xem mã sau để tìm hiểu cách sử dụng tính toán công thức để hiển thị dữ liệu trong một tệp Excel.
// Lấy các ô với worksheet.
cells, := worksheet.GetCells()
// Lấy ô E2.
cell, _ := cells.Get_String("E2")
// Đặt công thức
cell.setFormula("=SUM(B2:D2)")
// tính toán tất cả các công thức trong bảng tính
workbook.calculateFormula();
// Lấy kết quả của việc tính toán công thức
cells ,_ = worksheet.GetCells()
cell,_ cells.Get_String("E2")
result,_ := cell.GetDoubleValue()
- Vui lòng xem mã sau để tìm hiểu cách tạo một biểu đồ để hiển thị dữ liệu trong một tệp Excel.
// Thêm một biểu đồ
charts,_ := worksheet.GetCharts()
chart_index,_ := charts.Add_ChartType_Int_Int_Int_Int(ChartType_Column, 5, 0, 15, 5)
chart,_ := charts.Get_Int(chartIndex);
// Đặt Khu vực Dữ liệu Biểu đồ
nseries, _ := chart.GetNSeries()
nseries.Add_String_Bool("=Sheet1!$B$2:$D$10", true)
// Đặt Dữ liệu Trục Danh mục
nseries.SetCategoryData("=Sheet1!$A$2:$A$10")
// Đặt Tiêu đề Biểu đồ
chart_title,_ := chart.GetTitle()
chart_title.SetText("Phân tích dữ liệu bán hàng");
4. Tạo Báo cáo Khách hàng
Bạn có thể định nghĩa cấu trúc và kiểu của báo cáo theo nhu cầu của khách hàng. Ở đây, chúng tôi định nghĩa một kiểu báo cáo đơn giản, bao gồm một bảng dữ liệu và biểu đồ tương ứng của nó.