2017-05-02 12 views
0

다른 통합 문서의 셀에 하이퍼 링크를 추가하려고합니다. 전체 파일을 참조 할 수 있지만 특정 셀을 참조 할 때 문제가 있습니다.다른 통합 문서의 셀에 하이퍼 링크 - EPPlus

생성 된 하이퍼 링크가 잘 형성되었습니다. 하이퍼 링크 수정을 클릭 한 다음 생성 된 Excel 파일에서 확인 (수정하지 않음)을 클릭하면 하이퍼 링크가 작동되기 때문입니다.

저는 Uri의 모든 생성자를 사용하여 이미 시도했지만 셀 값을 계산하려고했지만 해결책을 찾지 못했습니다. 여기 내 코드가있다.

이 작동 :

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

이 수정과 생성 된 Excel 파일에 다음 확인을 클릭 할 때까지 작동하지 않습니다.

resultSheet.Cells[currentRow, 10].Hyperlink = new Uri(message.myReference.filePath + "#'" + message.myReference.sheetName + "'!" + "A" + message.myReference.cellRow, UriKind.Absolute); 

나는이 바보 같은 문제에 다소 집착하고 있기 때문에 어떤 도움을 주셔서 감사합니다.

답변

0

그래서 나는 대답을 발견, 내가 셀을 보여주고 싶었다 그 하이퍼 링크 참조 및 값을 추가하여 다음과 같은 셀의 수식 속성을 사용하여 그것을 할 수 있었다 :

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

Interop 라이브러리를 사용해 보았습니다.이 라이브러리는 저에게 적합합니다. 아마도 비슷한 종류의 논리 또는 아이디어를 사용할 수 있습니다.

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

도움 주셔서 감사합니다. EPPlus를 사용하여 수동으로 하이퍼 링크 수식을 작성하여 해결책을 찾았으며 하루 동안 게시 할 예정입니다. –

+0

@PabloMaldonado Awesome! 잘 했어! – hackslash47