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
- Tạo biểu đồ đường trong Excel bằng C ++
- Tạo biểu đồ kim tự tháp trong Excel bằng C ++
- Tạo biểu đồ bong bóng trong Excel bằng C ++
- Biểu đồ được hỗ trợ bổ sung
- Nhận giấy phép miễn phí
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.
- Đầu tiên, tạo một thể hiện của lớp IWorkbook.
- Truy xuất trang tính mà bạn muốn thêm biểu đồ bằng phương pháp IWorkbook-> GetIWorksheets() -> GetObjectByIndex (Aspose :: Cells :: Systems :: Int32 index).
- Chèn dữ liệu cho biểu đồ.
- Thêm biểu đồ vào trang tính bằng cách sử dụng IWorksheet-> GetICharts() -> Add (Aspose :: Cells :: Charts :: ChartType type, Aspose :: Cells :: Systems :: Int32 upperLeftRow, Aspose :: Cells :: Systems :: Int32 upperLeftColumn, Aspose :: Cells :: Systems :: Int32 LowerRightRow, Aspose :: Cells :: Systems :: Int32 LowerRightColumn).
- Truy cập biểu đồ với chỉ mục của nó bằng phương thức IWorksheet-> GetICharts() -> GetObjectByIndex (Aspose :: Cells :: Systems :: Int32 index).
- Thêm nguồn dữ liệu cho biểu đồ bằng cách sử dụng IChart-> GetNISeries() -> Thêm (intrusiveptrAspose::Cells::Systems::String area, bool isVertical) phương thức.
- Cuối cùng, lưu tệp Excel bằng cách sử dụng IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String fileName) phương thức.
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);
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.
- Đầu tiên, tạo một thể hiện của lớp IWorkbook.
- Truy xuất trang tính mà bạn muốn thêm biểu đồ bằng phương thức IWorkbook-> GetIWorksheets() -> GetObjectByIndex (Aspose :: Cells :: Systems :: Int32 index).
- Chèn dữ liệu cho biểu đồ.
- Thêm biểu đồ vào trang tính bằng cách sử dụng IWorksheet-> GetICharts() -> Add (Aspose :: Cells :: Charts :: ChartType type, Aspose :: Cells :: Systems :: Int32 upperLeftRow, Aspose :: Cells :: Systems :: Int32 upperLeftColumn, Aspose :: Cells :: Systems :: Int32 LowerRightRow, Aspose :: Cells :: Systems :: Int32 LowerRightColumn).
- Truy cập biểu đồ với chỉ mục của nó bằng phương thức IWorksheet-> GetICharts() -> GetObjectByIndex (Aspose :: Cells :: Systems :: Int32 index).
- Thêm nguồn dữ liệu cho biểu đồ bằng cách sử dụng IChart-> GetNISeries() -> Thêm (intrusiveptrAspose::Cells::Systems::String area, bool isVertical) phương thức.
- Cuối cùng, lưu tệp Excel bằng cách sử dụng IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String fileName) phương thức.
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);
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.
- Đầu tiên, tạo một thể hiện của lớp IWorkbook.
- Truy xuất trang tính mà bạn muốn thêm biểu đồ bằng phương thức IWorkbook-> GetIWorksheets() -> GetObjectByIndex (Aspose :: Cells :: Systems :: Int32 index).
- Chèn dữ liệu cho biểu đồ.
- Thêm biểu đồ vào trang tính bằng cách sử dụng IWorksheet-> GetICharts() -> Add (Aspose :: Cells :: Charts :: ChartType type, Aspose :: Cells :: Systems :: Int32 upperLeftRow, Aspose :: Cells :: Systems :: Int32 upperLeftColumn, Aspose :: Cells :: Systems :: Int32 LowerRightRow, Aspose :: Cells :: Systems :: Int32 LowerRightColumn).
- Truy cập biểu đồ với chỉ mục của nó bằng phương thức IWorksheet-> GetICharts() -> GetObjectByIndex (Aspose :: Cells :: Systems :: Int32 index).
- Thêm nguồn dữ liệu, kích thước bong bóng, giá trị X và giá trị Y cho biểu đồ bằng cách sử dụng IChart-> GetNISeries() -> Thêm (intrusiveptrAspose::Cells::Systems::String area, bool isVertical), IChart-> GetNISeries() -> GetObjectByIndex (0) -> SetBubbleSizes (intrusiveptrAspose::Cells::Systems::String giá trị), IChart-> GetNISeries() -> GetObjectByIndex (0) -> SetXValues (intrusiveptrAspose::Cells::Systems::String value), IChart-> GetNISeries() -> GetObjectByIndex (0) -> SetValues (intrusiveptrAspose::Cells::Systems::String value) phương thức tương ứng.
- Cuối cùng, lưu tệp Excel bằng cách sử dụng IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String fileName) phương thức.
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 đồ đượ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.