كيفية تحميل جدول بيانات في 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();

مشكلات و تصحيحات مشتركة

لم يتم العثور على ملف خطأ عند التحميل تحقق من أن مسار الملف صحيح وأن المستند موجود. استخدم المسار الكامل إذا كان الدليل العامل غير مؤكد.

عودة السلسلة الفارغة للخلية الرقمية استخدام GetValue().AsDouble() بدلا من GetStringValue()GetStringValue() يعيد صفراً فارغاً للخلايا التي تحتوي على أرقام بدلاً من النص.

تحميل الكتب ولكن الخلايا تبدو فارغة تأكد من أن ملف XLSX غير محمي بكلمة مرور. Aspose.Cells FOSS لـ C ++ لا يدعم الملفات المشفرة.

الخلية الصيغية تعيد قيمة غير متوقعة تخزن خلايا الصيغة سلسلة الصورة ، وليس القيمة المحوسبة. يتم تقييم الصفقة بواسطة Excel عند فتح الملف. استخدام GetFormula() لاسترداد نص الصيغة.

الذاكرة غير المفرغة بعد المعالجة اتصلوا workbook.Dispose() بعد أن تنتهي كل العمليات لإطلاق الموارد غير المدارة.

الأسئلة المتكررة

هل يمكنني تحميل العديد من أوراق العمل من ملف واحد؟?

نعم، استخدمها. Workbook::GetWorksheets() للوصول إلى جميع الصفحات وتكرارها حسب المؤشر. اتصل sheet.GetName() لتحديد كل ورقة باسمها.

هل يمكنني تحميل ملفات XLSX مع ورق متعددة وقراءة من واحد محدد؟?

نعم، ورق الوصول حسب مؤشر القاعدة الصفر: workbook.GetWorksheets()[1] يعيد الورقة الثانية.

هل تحميل ملف يُشغل إعادة حساب الصيغة؟?

لا. تقوم المكتبة بتحميل قيم الخلايا وسلاسل الصيغة كما هو مخزن في ملف XLSX. يحدث إعادة حساب الصفات في Excel أو قارئ متوافق عند فتح الملف.

ماذا يحدث إذا كان مسار الملف يحتوي على أحرف يونيكود؟?

مرّ على الطريق كـ… std::string مع التشفير الصحيح لمنصة. UTF-8 المسارات مدعومة على لينكس و macOS . في Windows ، تأكد من أن تشفير الطريق يطابق محلية النظام.

هل من الآمن تحميل نفس الملف عدة مرات في وقت واحد؟?

المكتبة ليست آمنة للخيط للوصول المتزامن إلى نفس Workbook مثال. الحمل منفصلة Workbook الحالات لكل خيط.

انظر أيضا

 العربية