2017-05-02 2 views
0

Je souhaite ajouter un lien hypertexte à une cellule d'un autre classeur. Je suis capable de renvoyer le fichier entier mais j'ai des problèmes en référant une cellule spécifique.Lien hypertexte vers une cellule d'un autre classeur - EPPlus

Le lien hypertexte généré est bien formé parce que lorsque je clique sur modifier le lien hypertexte, puis OK (sans le modifier) ​​sur le fichier Excel généré puis le lien hypertexte commence à fonctionner.

J'ai déjà essayé avec tous les constructeurs d'Uri, j'ai essayé de calculer la valeur de la cellule mais je ne trouve pas la solution. Voici mon code.

Cela fonctionne:

resultSheet.Cells[currentRow, 10].Hyperlink = new Uri(message.myReference.filePath, UriKind.Absolute); 

Cela ne fonctionne pas avant cliquant sur modifier puis ok sur le fichier Excel généré. J'apprécierais vraiment toute sorte d'aide parce que je suis un peu coincé sur cette question idiote.

Répondre

0

Je suis donc trouvé la réponse, j'ai pu le faire en utilisant l'attribut de formule de la cellule comme suit en ajoutant la référence de lien hypertexte et la valeur que je voulais montrer sur la cellule:

resultSheet.Cells[currentRow, 10].Formula = "HYPERLINK(\"" + filePath + "#'" + sheetName + "'!" + rowLetter + rowNumber + "\",\"" + "message to show on the cell" + "\")"; 
resultSheet.Cells[currentRow, 10].Calculate(); 
0

J'ai essayé d'utiliser la bibliothèque Interop et cela fonctionne pour moi. Peut-être que vous pouvez utiliser une logique ou une idée similaire.

Range whereHyperLinkWillBe = activeWorksheet.get_Range("O3", Type.Missing); 
string filePathOfHyerlinkDestination = "C:\\Users\\Desktop\\HyerlinkFile.xlsx"; 
string hyperlinkTargetAddress = "Sheet1!B4"; 
activeWorksheet.Hyperlinks.Add(whereHyperLinkWillBe, filePathOfHyerlinkDestination ,hyperlinkTargetAddress, "Hyperlink Sample", "Hyperlink Title"); 
+0

Merci pour votre aide! J'ai trouvé une solution en créant manuellement la formule de lien hypertexte using EPPlus et je l'afficherai pendant le jour :) –

+0

@PabloMaldonado Awesome! Bon travail! – hackslash47