چگونه یک مدل داده صفحه را در C++ ایجاد و محبوب کنیم
این راهنمای نشان می دهد که چگونه یک کتاب کار ایجاد کنید، سلول ها را با ارزش ها و فرمول های موجود در آن قرار دهید، سبک ها اعمال کنید و به عنوان فایل صفحه نمایش از طریق Aspose.Cells FOSS برای کتابخانه C++ ذخیره کنید. Workbook, Worksheet, Cell,و Style.
راهنمای گام به گام
مرحله اول: ساختن ساختمان را تنظیم کنید.
اضافه کردن کتابخانه Cells FOSS به پروژه CMake خود و لینک Aspose.Cells.Foss.Cpp هدف :
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)مرحله دوم: شامل عنوان ها و تنظیم نام فضای
شامل عنوان های کلاس از aspose/cells_foss/ برای هر کلاس که استفاده می کنید (Workbook.h, Worksheet.h, Cell.h, Style.h, Font.h, Color.h, CellArea.hسپس باز کردن آن را Aspose::Cells_FOSS نامی :
using namespace Aspose::Cells_FOSS;مرحله 3: ایجاد یک دفتر کار و نام ورق
Instantiate Workbook,برای دریافت اولین ورق از طریق GetWorksheets()[0],و نام نمایش را وارد کنید:
int main() {
Workbook workbook;
Worksheet& sheet = workbook.GetWorksheets()[0];
sheet.SetName("Sales");
return 0;
}مرحله چهارم: ارزش های سلولی اضافه کنید
Call GetCells()["A1"].PutValue() برای نوشتن خطوط متن، ارزش های عددی و بولین ها به سلول های فردی با آدرس:
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);مرحله پنجم: فرمول را انتخاب کنید.
Call SetFormula() در یک سلول برای ذخیره کردن یک ردیف فرمول سازگار با Excel؛ فرموله توسط Excel ارزیابی می شود زمانی که فایل باز می گردد:
sheet.GetCells()["B4"].SetFormula("=SUM(B2:B3)");مرحله 6: استفاده از سلول های سبک
با سبک خود را به دست آورید. Cell::GetStyle(),تغییر می کند و با استفاده از 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);مرحله هفتم: سلول ها را به هم متصل کنید
استفاده از Cells::Merge برای ترکیب یک محدوده به یک سلول:
CellArea titleArea = CellArea::CreateCellArea("A1", "B1");
sheet.GetCells().Merge(0, 0, 1, 2);مرحله هشتم: کتاب را ذخیره کنید
Call workbook.Save() با یک نام فایل برای نوشتن صفحه به عنوان یک فایل XLSX، سپس تماس بگیرید Dispose() برای آزاد کردن منابع:
workbook.Save("sales.xlsx");
workbook.Dispose();مشکلات و اصلاحات مشترک
سبک استفاده پس از ذخیره سازی همیشه تماس بگیرید Cell::SetStyle(style) پس از تغییر شیشه، تغییر سبک بازگردانده به طور مستقیم تغییرات را اعمال نمی کند؛ شما باید آن را به صراحت تنظیم کنید.
فرمول ذخیره شده به عنوان خطی حروف استفاده از SetFormula("=SUM(...)") نه PutValue("=SUM(...)"). PutValue این استدلال را به عنوان یک خط حروف و نه فرمول در نظر بگیرید.
سلول های خسته به درستی عمل نمی کنند اطمینان حاصل کنید که پارامترهای ادغام (نقش، ستون، ردیف، شاخص) به درستی محدوده مورد نظر را گسترش می دهند.
کتاب کار پس از ساخت هیچ ورق ندارد. یک صفحه ی پیش فرض همیشه با Workbook().تماس تلفنی GetWorksheets()[0] برای دسترسی به آن.
تماس تلفنی نیست همیشه تماس بگیرید workbook.Dispose() برای آزاد کردن منابع، به ویژه در برنامه های طولانی مدت.
پرسش های متداول
آیا می توانم چندین صفحه کار را به یک کتاب اضافه کنم؟?
بله استفاده کنید Workbook::GetWorksheets() برای دسترسی به مجموعه و اضافه کردن ورق ها به صورت برنامه نویسی. اطمینان حاصل کنید که هر ورقه دارای یک نام منحصر به فرد با استفاده از Workbook::EnsureUniqueSheetName().
چگونه می توانم یک عدد را برای یک سلول تنظیم کنم؟?
استفاده از Style::SetNumberFormat(format) قبل از تماس Cell::SetStyle(style).خطوط فرمت از سنتاکس استاندارد اعداد Excel پیروی می کنند.
آیا می توانم از یک سبک برای چند سلول استفاده کنم؟?
بله، یک بار سبک را دریافت کنید، آن را تغییر دهید و سپس تماس بگیرید. SetStyle(style) در هر سلول هدف قرار می گیرد.
آیا فرمول پس از ذخیره ارزیابی می شود؟?
No. ارزیابی فرمول در اکسل یا یک خواننده سازگار زمانی رخ می دهد که فایل باز می شود. کتابخانه خط فرمولی را به سلول می نویسد.
چند ردیف و ستون می تواند یک ورق کار نگه داشته شود؟?
هر ورق کار داده ها را در سراسر شبکه کامل خطوط و ستون های خود نگه می دارد، با توجه به ابعاد استاندارد صفحه پخش.