כיצד להעלות את הפרידף ב- C++

כיצד להעלות את הפרידף ב- C++

Aspose.Cells FOSS for C++ allows you to load and read existing XLSX spreadsheets without requiring Microsoft Excel. This guide walks through loading a workbook, accessing worksheets, and reading cell values using the Workbook, Worksheet, ו Cell שיעורים .

הדרכה שלב אחר צעד

שלב 1: הגדרת הבניין

הוסף Aspose.Cells FOSS עבור C++ לפרויקט CMake שלך:

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

add_subdirectory(path/to/Aspose.Cells-FOSS-for-Cpp)

add_executable(LoadSpreadsheet main.cpp)
target_link_libraries(LoadSpreadsheet PRIVATE Aspose.Cells.Foss.Cpp)

שלב 2: כלול כותרות נדרשות

#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/WorksheetCollection.h"
#include "aspose/cells_foss/Worksheet.h"
#include "aspose/cells_foss/Cell.h"

using namespace Aspose::Cells_FOSS;

שלב 3: הורד את ספר העבודה

העברת מסלול הקובץ אל Workbook המפתח להעלות קובץ XLSX קיימת:

int main() {
    Workbook workbook("input.xlsx");
    // workbook is now loaded and ready to use
    return 0;
}

שלב 4: גישה לקטע עבודה

שימוש Workbook::GetWorksheets() כדי לקבל את אוסף לוח העבודה, ולאחר מכן גישה על ידי אינדיקטור:

Worksheet& sheet = workbook.GetWorksheets()[0];
std::string name = sheet.GetName();

שלב 5: לקרוא ערכים תאים

תאים גישה לפי שורת כתובת ולקרוא את הערכים שלהם:

std::string text = sheet.GetCells()["A1"].GetStringValue();
double number = sheet.GetCells()["B2"].GetValue().AsDouble();
bool flag = sheet.GetCells()["C3"].GetValue().AsBool();

שלב 6: הצלחת כל שינוי

לאחר ביצוע שינויים, לשמור בחזרה לקובץ:

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

בעיות נפוצות ותקנות

לא נמצאו שגיאות בקובץ ה-Lad בדוק את מסלול הקובץ נכון ואת הקבצים קיימים.השתמש במסלול מוחלט אם תיעוד העבודה אינו בטוח.

שורת ריקה חוזרת עבור תא מספר שימוש GetValue().AsDouble() במקום GetStringValue()GetStringValue() החזיר רצועה ריקה לתאים המכילים מספרים במקום טקסט.

ספר עבודה מחוברים אבל תאים נראים ריקים ודא כי קובץ ה-XNUMX אינו מוגן על ידי סיסמה. Aspose.Cells FOSS for C++ אינו תומך בקבצים מוצפנים.

תבנית חוזרת ערך בלתי צפוי תאים של טופס מאוחסנים את שורת הטופסה, לא את הערך המוחשב.הטופסא מוערכת על ידי Excel כאשר הקובץ נפתח. GetFormula() כדי לקבל את הטקסט של המודל.

זיכרון שלא שוחרר לאחר עיבוד שיחת טלפון workbook.Dispose() לאחר כל הפעולות הושלמו כדי לשחרר משאבים לא מנוהלים.

שאלות נפוצות שואלים

האם אני יכול להעלות מספר דפי עבודה מתוך קובץ אחד?

כן – שימוש Workbook::GetWorksheets() כדי לגשת לכל הדפים וליירת על פי אינדיקטור. sheet.GetName() כדי לזהות כל שורה על פי שם.

האם אני יכול להעלות את קבצי XLSX עם מספר עמודים ולקרוא מאחד מסוים?

כן, מדד גישה לפי אפס: workbook.GetWorksheets()[1] החזיר את הקובץ השני.

האם העלאת קובץ מעוררת מחשוב נוסחתי?

הספרייה מחזירה ערכים של תאים ושל שורות נוסחה כפי שמוחסנים בקובץ XLSX.המחשוב מחדש של נוסח מתרחש ב- Excel או בקורא תואם כאשר הקובצין נפתח.

מה יקרה אם מסלול הקובץ מכיל אותות Unicode?

עבר את הדרך כ"א std::string עם הקוד הנכון עבור הפלטפורמה שלך.הדרכים UTF-8 נתמכות על לינוקס ו- macOS.ב- Windows, לוודא שהדרכה הקדומה תואמת את המערכת המקומית.

האם זה בטוח להעלות את אותו קובץ מספר פעמים במקביל?

הספרייה אינה בטוחה עבור גישה מקבילה לאותה ספרייה. Workbook תגית: מחלקים נפרדים Workbook מקרים לפי רקע.

ראה גם

 עברית