Hyperlinks in Excel oder OpenOffice mit C++ einfügen
Hinzufügen von Hyperlinks
Aspose.Cells ermöglicht es Entwicklern, Hyperlinks entweder über die API oder Designer-Tabellen (Tabellen, in denen Hyperlinks manuell erstellt und mit Aspose.Cells in andere Tabellen importiert werden) hinzuzufügen.
Aspose.Cells stellt eine Klasse, Workbook, bereit, die eine Microsoft Excel-Datei repräsentiert. Die Workbook Klasse enthält eine WorksheetCollection, die Zugriff auf jedes Arbeitsblatt in der Excel-Datei ermöglicht. Ein Arbeitsblatt wird durch die Worksheet Klasse dargestellt. Die Worksheet Klasse bietet verschiedene Methoden zum Hinzufügen unterschiedlicher Hyperlinks zu Excel-Dateien.
Hinzufügen eines Links zu einer URL
Die Worksheet Klasse enthält eine GetHyperlinks() Sammlung. Jedes Element in der GetHyperlinks() Sammlung stellt einen Hyperlink dar. Fügen Sie Hyperlinks zu URLs hinzu, indem Sie die Hyperlinks Sammlung mit ihrer Add Methode aufrufen. Die Add Methode benötigt die folgenden Parameter:
- Zellname, der Name der Zelle, zu der der Hyperlink hinzugefügt wird.
- Anzahl der Zeilen, die Anzahl der Zeilen im Hyperlink-Bereich.
- Anzahl der Spalten, die Anzahl der Spalten im Hyperlink-Bereich.
- URL, die URL-Adresse.
#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();
}
Hinzufügen eines Links zu einer Zelle in derselben Datei
Es ist möglich, Hyperlinks zu Zellen in derselben Excel-Datei hinzuzufügen, indem die Hyperlinks Sammlung mit ihrer Add Methode aufgerufen wird. Die Add Methode funktioniert sowohl für interne als auch für externe Hyperlinks. Eine Version der überladenen Methode nimmt die folgenden Parameter:
- Zellname, der Name der Zelle, zu der der Hyperlink hinzugefügt wird.
- Anzahl der Zeilen, die Anzahl der Zeilen im Hyperlink-Bereich.
- Anzahl der Spalten, die Anzahl der Spalten im Hyperlink-Bereich.
- URL, die Adresse der Zielzelle.
#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();
}
Hinzufügen eines Links zu einer externen Datei
Es ist möglich, Hyperlinks zu externen Excel-Dateien hinzuzufügen, indem die Hyperlinks Sammlung mit ihrer Add Methode aufgerufen wird. Die Add Methode benötigt die folgenden Parameter:
- Zellname, der Name der Zelle, zu der der Hyperlink hinzugefügt wird.
- Anzahl der Zeilen, die Anzahl der Zeilen im Hyperlink-Bereich.
- Anzahl der Spalten, die Anzahl der Spalten im Hyperlink-Bereich.
- URL, die Adresse des Ziels, externen Excel-Datei.
#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();
}