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.
Aggiunta di un link a un URL
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();
}
Aggiunta di un link a una cella nello stesso file
È 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();
}
Aggiunta di un link a un file esterno
È 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();
}