Tạo biểu đồ Excel C ++

Biểu đồ là một công cụ tuyệt vời để hiển thị dữ liệu một cách chính xác. Hơn nữa, chúng đại diện cho dữ liệu một cách trực quan, khiến việc tiêu thụ một lượng lớn dữ liệu trở nên dễ dàng hơn. Bạn có thể thấy biểu đồ hữu ích trong các tình huống cần hiển thị dữ liệu, chẳng hạn như so sánh ngân sách hàng tháng hoặc tỷ lệ chấp nhận sản phẩm. Vì vậy, bài viết này sẽ hướng dẫn bạn cách tạo biểu đồ trong tệp Excel bằng C ++.

API C ++ để tạo biểu đồ Excel

Aspose.Cells for C ++ là thư viện C ++ gốc cho phép bạn tạo, đọc và sửa đổi các tệp Excel mà không yêu cầu cài đặt Microsoft Excel. API cũng hỗ trợ tạo biểu đồ trong tệp Excel. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.

PM> Install-Package Aspose.Cells.Cpp

Tạo biểu đồ đường trong Excel bằng C ++

Để tạo biểu đồ đường, hãy sử dụng giá trị enum ChartTypeLine trong khi thêm biểu đồ. Sau đây là các bước để tạo biểu đồ đường trong tệp Excel.

Sau đây là mã mẫu để tạo biểu đồ đường trong Excel bằng C ++.

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Đường dẫn xuất tệp excel
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));

// Tạo một sổ làm việc mới
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Nhận trang tính đầu tiên được tạo theo mặc định
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Thêm giá trị mẫu vào ô
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);

// Thêm biểu đồ vào trang tính
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);

// Truy cập phiên bản của biểu đồ mới được thêm vào
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Thêm SeriesCollection (nguồn dữ liệu biểu đồ) vào biểu đồ từ ô "A1" đến "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Lưu tệp Excel
workbook->Save(outputChartTypeLine);
Biểu đồ đường

Biểu đồ dạng đường được tạo bởi mã mẫu

Tạo biểu đồ kim tự tháp trong Excel bằng C ++

Để tạo biểu đồ kim tự tháp, hãy sử dụng giá trị enum ChartTypePyramid để chỉ định loại biểu đồ trong khi thêm biểu đồ. Sau đây là các bước để tạo biểu đồ kim tự tháp trong tệp Excel.

Sau đây là mã mẫu để tạo biểu đồ kim tự tháp trong Excel bằng C ++.

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Đường dẫn xuất tệp excel
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));

// Tạo một sổ làm việc mới
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Nhận trang tính đầu tiên được tạo theo mặc định
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Thêm giá trị mẫu vào ô
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);

// Thêm biểu đồ vào trang tính
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);

// Truy cập phiên bản của biểu đồ mới được thêm vào
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Thêm SeriesCollection (nguồn dữ liệu biểu đồ) vào biểu đồ từ ô "A1" đến "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Lưu tệp Excel
workbook->Save(outputChartTypePyramid);
Biểu đồ kim tự tháp

Biểu đồ kim tự tháp được tạo bởi mã mẫu

Tạo biểu đồ bong bóng trong Excel bằng C ++

Để tạo biểu đồ bong bóng, hãy chuyển giá trị enum ChartTypeBubble vào phương thức IWorksheet-> GetICharts() -> Add(). Sau đây là các bước để tạo biểu đồ bong bóng trong tệp Excel.

Sau đây là mã mẫu để tạo biểu đồ bong bóng trong Excel bằng C ++.

// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");

// Đường dẫn xuất tệp excel
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));

// Tạo một sổ làm việc mới
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Nhận trang tính đầu tiên được tạo theo mặc định
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Điền dữ liệu cho chuỗi biểu đồ
// Giá trị Y
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Giá trị Y"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// Kích thước bong bóng
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Kích thước bong bóng"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// Giá trị X
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("Giá trị X"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);

// Đặt chiều rộng cột đầu tiên
worksheet->GetICells()->SetColumnWidth(0, 12);

// Thêm biểu đồ vào trang tính
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);

// Truy cập phiên bản của biểu đồ mới được thêm vào
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Thêm SeriesCollection (nguồn dữ liệu biểu đồ) vào biểu đồ từ B1 đến D1
chart->GetNISeries()->Add(new String("B1:D1"), true);

// Đặt kích thước bong bóng
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));

// Đặt giá trị trục X
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));

// Đặt giá trị trục Y
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));

// Lưu tệp Excel
workbook->Save(outputChartTypeBubble);
Biểu đồ bong bóng

Biểu đồ bong bóng được tạo bởi mã mẫu

Biểu đồ được hỗ trợ bổ sung

Ngoài các biểu đồ được hiển thị ở trên, Aspose.Cells for C ++ hỗ trợ nhiều loại biểu đồ bổ sung. Bạn có thể xem danh sách đầy đủ các biểu đồ được hỗ trợ bằng cách xem các giá trị enum ChartType.

Nhận giấy phép miễn phí

Bạn có thể dùng thử API mà không có giới hạn đánh giá bằng cách yêu cầu giấy phép tạm thời miễn phí.

Sự kết luận

Trong bài viết này, bạn đã học cách tạo biểu đồ trong bảng tính Excel bằng C ++. Cụ thể, bạn đã thấy cách tạo biểu đồ Đường thẳng, Kim tự tháp và Bong bóng bằng cách sử dụng API Aspose.Cells cho C ++. Hơn nữa, bạn đã thấy rằng API hỗ trợ một số lượng lớn các biểu đồ khác mà bạn có thể tạo trong các tệp Excel của mình. Bên cạnh biểu đồ, API cung cấp nhiều tính năng bổ sung để làm việc với các tệp Excel. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.

Xem thêm