Làm thế nào để tạo và phổ biến một Spreadsheet Data Model trong C++

Làm thế nào để tạo và phổ biến một Spreadsheet Data Model trong C++

Hướng dẫn này cho thấy cách tạo một sổ làm việc, dân số các tế bào với giá trị và công thức, áp dụng phong cách, và lưu như một tệp bảng thông qua Aspose.Cells FOSS cho thư viện C++. Workbook, Worksheet, Cell, và Style.

Hướng dẫn từng bước

Bước 1: Tạo dựng xây dựng

Thêm thư viện Cells FOSS vào dự án CMake của bạn và liên kết với các Aspose.Cells.Foss.Cpp Mục tiêu :

cmake_minimum_required(VERSION 3.15)
project(CreateSpreadsheet CXX)
set(CMAKE_CXX_STANDARD 17)

add_subdirectory(path/to/Aspose.Cells-FOSS-for-Cpp)
add_executable(CreateSpreadsheet main.cpp)
target_link_libraries(CreateSpreadsheet PRIVATE Aspose.Cells.Foss.Cpp)

Bước 2: Chọn Headers và Set Namespace

  • Tùy vào các tiêu đề per-class từ aspose/cells_foss/ Đối với mỗi lớp bạn sử dụng (Workbook.h, Worksheet.h, Cell.h, Style.h, Font.h, Color.h, CellArea.hSau đó mở ra các Aspose::Cells_FOSS Tên miền:
using namespace Aspose::Cells_FOSS;

Bước 3: Tạo một sổ làm việc và đặt tên cho bảng điều khiển

Instantiate Workbook, lấy lại bảng tính đầu tiên qua GetWorksheets()[0], và đặt tên hiển thị của nó:

int main() {
    Workbook workbook;
    Worksheet& sheet = workbook.GetWorksheets()[0];
    sheet.SetName("Sales");
    return 0;
}

Bước 4: Thêm giá trị tế bào

Call GetCells()["A1"].PutValue() để viết các dòng văn bản, giá trị số và booleans vào các tế bào cá nhân theo địa chỉ:

sheet.GetCells()["A1"].PutValue("Product");
sheet.GetCells()["B1"].PutValue("Price");
sheet.GetCells()["A2"].PutValue("Widget");
sheet.GetCells()["B2"].PutValue(9.99);
sheet.GetCells()["A3"].PutValue("Gadget");
sheet.GetCells()["B3"].PutValue(24.99);

Bước 5: Thiết lập một công thức

Call SetFormula() trên một ô để lưu trữ một dòng công thức tương thích với Excel; Công thức được đánh giá bởi Excel khi tệp được mở:

sheet.GetCells()["B4"].SetFormula("=SUM(B2:B3)");

Bước 6: Sử dụng Cell Styling

Hãy lấy phong cách với Cell::GetStyle(), sửa đổi nó, và áp dụng với Cell::SetStyle(style):

Style headerStyle = sheet.GetCells()["A1"].GetStyle();
Font font;
font.SetBold(true);
font.SetColor(Color::FromArgb(255, 255, 255, 255));
headerStyle.SetFont(font);
headerStyle.SetPattern(FillPattern::Solid);
headerStyle.SetForegroundColor(Color::FromArgb(255, 34, 120, 212));
sheet.GetCells()["A1"].SetStyle(headerStyle);
sheet.GetCells()["B1"].SetStyle(headerStyle);

Bước 7: Kết hợp các tế bào

Sử dụng Cells::Merge Để kết hợp một phạm vi thành một ô duy nhất:

CellArea titleArea = CellArea::CreateCellArea("A1", "B1");
sheet.GetCells().Merge(0, 0, 1, 2);

Bước 8: Save the Workbook

Call workbook.Save() với một tên tệp để viết bảng điều khiển như là một tập tin XLSX, sau đó gọi Dispose() Để tiết kiệm tài nguyên:

workbook.Save("sales.xlsx");
workbook.Dispose();

Các vấn đề chung và Fixes

Phong cách không áp dụng sau khi tiết kiệm Luôn gọi Cell::SetStyle(style) sau khi sửa đổi đối tượng phong cách. thay đổi phong độ trả về trực tiếp không áp dụng các thay thế; bạn phải đặt nó lại một cách rõ ràng.

Công thức được lưu trữ như string văn bản Sử dụng SetFormula("=SUM(...)") Không PutValue("=SUM(...)"). PutValue Trả lời câu nói là một dòng chữ, không phải là công thức.

Merged cell không render đúng cách Hãy đảm bảo các thông số hợp nhất (cây, cột, rowCount, columnCounta) được kéo dài đúng khoảng mục đích.

Sách làm việc không có tờ sau khi xây dựng Một tấm mặc định luôn được tạo bởi Workbook().gọi điện GetWorksheets()[0] để truy cập nó.

Không được gọi Luôn gọi workbook.Dispose() để tiết kiệm tài nguyên, đặc biệt là trong các ứng dụng chạy dài hạn.

Thường xuyên hỏi câu hỏi

Tôi có thể thêm nhiều bảng tính vào một sổ làm việc không?

Có. sử dụng Workbook::GetWorksheets() để truy cập vào bộ sưu tập và thêm lá theo chương trình. đảm bảo mỗi lá có một tên độc đáo bằng cách sử dụng Workbook::EnsureUniqueSheetName().

Làm thế nào để tôi thiết lập định dạng số cho một ô?

Sử dụng Style::SetNumberFormat(format) Trước khi gọi Cell::SetStyle(style).Các dòng định dạng theo tổng hợp định hình số Excel tiêu chuẩn.

Tôi có thể áp dụng cùng một phong cách cho nhiều tế bào không?

Có. Nhận phong cách một lần, sửa đổi nó, sau đó gọi SetStyle(style) trên mỗi tế bào mục tiêu.

Công thức được đánh giá khi tiết kiệm?

Không. Đánh giá công thức xảy ra trong Excel hoặc một độc giả tương thích khi tệp được mở. Thư viện viết dòng công cụ vào ô.

Có bao nhiêu hàng và cột có thể giữ một bảng tính?

Mỗi bảng tính giữ dữ liệu trên toàn bộ mạng lưới của nó các hàng và cột, theo chiều tiêu chuẩn bảng.

See Also

 Tiếng Việt