إدراج روابط تشعبية في Excel أو OpenOffice باستخدام C++

إضافة الروابط المختصرة

تسمح Aspose.Cells للمطورين بإضافة روابط تشعبية إلى ملفات Excel إما باستخدام واجهة برمجة التطبيقات أو جداول البيانات المصممة (جداول البيانات التي يتم إنشاؤها يدويًا وتستخدم Aspose.Cells لاستيرادها إلى جداول بيانات أخرى).

توفر Aspose.Cells فئة، Workbook التي تمثل ملف Excel من Microsoft. تحتوي فئة Workbook على مجموعة WorksheetCollection التي تتيح الوصول إلى كل ورقة عمل في ملف Excel. يتم تمثيل ورقة العمل بواسطة فئة Worksheet. توفر فئة Worksheet طرقًا مختلفة لإضافة روابط تشعبية مختلفة إلى ملفات Excel.

إضافة رابط إلى عنوان URL

تحتوي فئة ورقة العمل على مجموعة GetHyperlinks(). كل عنصر في مجموعة GetHyperlinks() يمثل عنوان URL. أضف روابط تشعبية إلى عناوين URL عن طريق استدعاء طريقة Add من مجموعة Hyperlinks. تأخذ طريقة Add المعلمات التالية:

  • اسم الخلية، اسم الخلية التي سيتم إضافة الرابط التشعبي إليها.
  • عدد الصفوف، عدد الصفوف في نطاق الارتباط الفائق.
  • عدد الأعمدة، عدد الأعمدة في نطاق الارتباط الفائق.
  • عنوان URL, عنوان عنوان URL.
#include <iostream>
#include "Aspose.Cells.h"

using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Path of output excel file
    U16String outputFilePath = outDir + u"output.out.xls";

    // Create a new workbook
    Workbook workbook;

    // Get the first worksheet
    Worksheet worksheet = workbook.GetWorksheets().Get(0);

    // Add a hyperlink to cell "A1"
    worksheet.GetHyperlinks().Add(u"A1", 1, 1, u"http://www.aspose.com");

    // Save the workbook
    workbook.Save(outputFilePath);

    std::cout << "Hyperlink added successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}

إضافة رابط إلى خلية في نفس الملف

من الممكن إضافة روابط تشعبية إلى خلايا في نفس ملف إكسل عن طريق استدعاء طريقة Add من مجموعة Hyperlinks. تعمل طريقة Add لكل من الروابط الداخلية والخارجية. نسخة من الطريقة التحميلية تتخذ المعلمات التالية:

  • اسم الخلية، اسم الخلية التي سيتم إضافة الرابط التشعبي إليها.
  • عدد الصفوف، عدد الصفوف في نطاق الارتباط الفائق.
  • عدد الأعمدة، عدد الأعمدة في نطاق الارتباط الفائق.
  • URL، عنوان الخلية المستهدفة.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Instantiating a Workbook object
    Workbook workbook;

    // Adding a new worksheet to the Workbook object
    workbook.GetWorksheets().Add();

    // Obtaining the reference of the first (default) worksheet
    Worksheet worksheet = workbook.GetWorksheets().Get(0);

    // Adding an internal hyperlink to the "B9" cell of the other worksheet "Sheet2" in
    // The same Excel file
    worksheet.GetHyperlinks().Add(u"B3", 1, 1, u"Sheet2!B9");

    // Saving the Excel file
    workbook.Save(outDir + u"output.out.xls");

    std::cout << "Hyperlink added successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}

إضافة رابط إلى ملف خارجي

من الممكن إضافة روابط تشعبية إلى ملفات إكسل خارجية عن طريق استدعاء طريقة Add من مجموعة Hyperlinks. تأخذ طريقة Add المعلمات التالية:

  • اسم الخلية، اسم الخلية التي سيتم إضافة الرابط التشعبي إليها.
  • عدد الصفوف، عدد الصفوف في نطاق الارتباط الفائق.
  • عدد الأعمدة، عدد الأعمدة في نطاق الارتباط الفائق.
  • عنوان الويب (URL)، عنوان الهدف، ملف Excel الخارجي.
#include <iostream>
#include "Aspose.Cells.h"

using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Create a new workbook
    Workbook workbook;

    // Add a new worksheet to the workbook
    int i = workbook.GetWorksheets().Add();

    // Get the reference of the newly added worksheet by passing its sheet index
    Worksheet worksheet = workbook.GetWorksheets().Get(i);

    // Add an internal hyperlink to the "A5" cell of the other worksheet "Sheet2" in the same Excel file
    worksheet.GetHyperlinks().Add(U16String(u"A5"), 1, 1, srcDir + U16String(u"book1.xls"));

    // Save the Excel file
    workbook.Save(outDir + U16String(u"output.out.xls"));

    std::cout << "Hyperlink added successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}

مواضيع متقدمة