Inserire link ipertestuali in Excel o OpenOffice con C++

Aggiunta di Collegamenti Ipotestuali

Aspose.Cells consente agli sviluppatori di aggiungere collegamenti ipertestuali ai file Excel usando l’API o fogli di calcolo creati manualmente (fogli di calcolo in cui i collegamenti vengono creati manualmente e Aspose.Cells viene usato per importarli in altri fogli).

Aspose.Cells fornisce una classe, Workbook che rappresenta un file Microsoft Excel. La classe Workbook contiene una WorksheetCollection che permette l’accesso a ogni foglio di lavoro nel file Excel. Un foglio di lavoro è rappresentato dalla classe Worksheet. La classe Worksheet fornisce diversi metodi per aggiungere diversi collegamenti ipertestuali ai file Excel.

La classe Worksheet contiene una collezione GetHyperlinks(). Ogni elemento nella collezione rappresenta un Hyperlink. Aggiungi link ipertestuali agli URL chiamando il metodo Add della collezione Hyperlinks. Il metodo Add richiede i seguenti parametri:

  • Nome della cella, il nome della cella a cui verrà aggiunto il collegamento ipertestuale.
  • Numero di righe, il numero di righe in questo intervallo di collegamenti ipertestuali.
  • Numero di colonne, il numero di colonne in questo intervallo di collegamenti ipertestuali.
  • URL, l’indirizzo 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();
}

È possibile aggiungere link ipertestuali alle celle nello stesso file Excel chiamando il metodo Add della collezione Hyperlinks. Il metodo Add funziona sia per collegamenti interni che esterni. Una versione del metodo sovraccarico richiede i seguenti parametri:

  • Nome della cella, il nome della cella a cui verrà aggiunto il collegamento ipertestuale.
  • Numero di righe, il numero di righe in questo intervallo di collegamenti ipertestuali.
  • Numero di colonne, il numero di colonne in questo intervallo di collegamenti ipertestuali.
  • URL, l’indirizzo della cella di destinazione.
#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();
}

È possibile aggiungere link ipertestuali a file Excel esterni chiamando il metodo Add della collezione Hyperlinks. Il metodo Add richiede i seguenti parametri:

  • Nome della cella, il nome della cella a cui verrà aggiunto il collegamento ipertestuale.
  • Numero di righe, il numero di righe in questo intervallo di collegamenti ipertestuali.
  • Numero di colonne, il numero di colonne in questo intervallo di collegamenti ipertestuali.
  • URL, l’indirizzo di destinazione, file Excel esterno.
#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();
}

Argomenti avanzati