回答
下面的代碼工作的罰款和我在一起。
string FileRootPath = "http://www.google.com";
_Worksheet.Cells[intCellNumber, 1].Formula = "HYPERLINK(\"" + FileRootPath + "\",\"" + DisplayText + "\")";
我希望這會對你有所幫助。
快樂編碼!
爲什麼'_Worksheet.Cells [intCellNumber,1] .Formula = String.Format(「HYPERLINK(\」{0} \「,\」{1} \「)」,FileRootPath,DisplayText)'? – MrOodles
爲什麼不是'String.Format(@「HYPERLINK(」「{0}」「,」「{1}」「)」,FileRootPath,DisplayText)';) – Pakman
對我來說,它似乎不是一個通用的解決方案,因爲HYPERLINK函數可能不適用於非英文版的MS Excel。從這個角度來看,韓的回答更好。 –
我不知道EPPlus,但在VBA(我猜C#將使用相同的原理),你可以使用下面的代碼:
Sub Test()
' place value into cell
ActiveSheet.[A1] = 13
' create link and set its range property
ActiveSheet.Hyperlinks.Add ActiveSheet.[A1], "http://www.google.at"
' use cell in a calculation
ActiveSheet.[A2].Formula = "=A1+2"
End Sub
超鏈接都具有一定範圍的財產,因此,儘管對象的單元格的值可以通過重寫來改變,鏈接將保持不變。編輯由長鼠標單擊單元格
希望這有助於 - 好運拾音
謝謝@MikeD。我正在使用EPPlus做這個服務器端。Emmanuel的回答正確地解決了我的問題。 – IEnumerator
這是其他的方式來做到:
var cell = sheet.Cells["A1"];
cell.Hyperlink = new Uri("http://www.google.com");
cell.Value = "Click me!";
我已經測試。它工作正常。
有幾種方法去做:
1)要使用URI,然後設置一個人類可讀的名稱
var cell = sheet.Cells["A1"];
cell.Hyperlink = new Uri("http://www.google.com");
cell.Value = "Click me!";
2)使用ExcelHyperlink和使用對象初始化設置人類可讀的名稱
var cell = sheet.Cells["A1"];
cell.Hyperlink = new ExcelHyperlink("http://www.google.com") { Display = "Click me! };
3)要使用超鏈接=()式
var cell = sheet.Cells["A1"];
cell.Formula = string.Format("HYPERLINK({0},{1})", "http://www.google.com", "Click me!");
cell.Calculate();
基於提供的答案和文檔,我能夠創建一個擴展方法,同時處理適當的超鏈接格式。它創建了一個名爲風格,如果需要的話,並用於所有後續超鏈接樣式:
public static void WriteHyperlink(this ExcelRange cell, string text, string url, bool excelHyperlink = false, bool underline = true)
{
if (string.IsNullOrWhiteSpace(text))
return;
// trying to reuse hyperlink style if defined
var workBook = cell.Worksheet.Workbook;
string actualStyleName = underline ? HyperLinkStyleName : HyperLinkNoUnderlineStyleName;
var hyperlinkStyle = workBook.Styles.NamedStyles.FirstOrDefault(s => s.Name == actualStyleName);
if (hyperlinkStyle == null)
{
var namedStyle = workBook.Styles.CreateNamedStyle(actualStyleName);
namedStyle.Style.Font.UnderLine = underline;
namedStyle.Style.Font.Color.SetColor(Color.Blue);
}
if (excelHyperlink)
cell.Hyperlink = new ExcelHyperLink(url) { Display = text };
else
{
cell.Hyperlink = new Uri(url);
cell.Value = text;
cell.StyleName = actualStyleName;
}
}
沒有造型的超級鏈接看起來就像普通的文本,如果沒有明確的造型採用cell.Hyperlink = new Uri(url);
(雖然光標正確表明該文本實際上是一個超鏈接文本)。
- 1. 使用單元格內容創建超鏈接的VBA代碼
- 2. 在Excel單元格內創建超鏈接?
- 3. 如何在PHP生成表的單元格中創建鏈接?
- 4. 如何在單元格文本中創建超鏈接?
- 5. 蝦:如何創建一個表格單元格內的鏈接圖像
- 6. 創建並響應NSTableView文本單元格內的超鏈接
- 7. 使用EPPlus合併單元格?
- 8. 如何在C#中使用EPPlus設置xlsx單元格寬度
- 9. 如何創建包含圖像超鏈接的JTable單元格?
- 10. Excel VBA:如何從單元格值自動創建超鏈接?
- 11. EPPlus:如何樣式合併單元格?
- 12. EPPlus超鏈接到另一個工作表中的單元格
- 13. 用鏈接到視頻的單元格創建表格視圖
- 14. 蝦 - 表格單元格內的鏈接
- 15. EPPLUS - 重命名單元格
- 16. 使活動單元格超鏈接到新創建的標籤
- 17. 如何在鏈接的單元格引用中使用變量?
- 18. 如何在表格單元格內創建對角線?
- 19. 如何使用故事板在單元格內創建表格視圖?
- 20. 在MigraDoc表中創建整個單元格鏈接
- 21. 如何使用jQuery將鏈接添加到表格單元格
- 22. 如何在內容元素中創建鏈接
- 23. 如何在僅使用EPPlus適用於部分單元格值的單元格中添加格式?
- 24. 如何在用EPPlus創建的Excel文件中禁止用戶輸入空格到單元格中
- 25. PHPExcel如何使用setFormula1將表單列鏈接到單元格()
- 26. 從單元格內容複製鏈接
- 27. C#Excel如何在單元格鏈接中添加超鏈接
- 28. 如何在Bootstrap DataTable中創建超鏈接或可點擊的單元格?
- 29. 如何在Balsamiq的單個頁面內創建錨鏈接?
- 30. VBA使用超鏈接創建表格
你不能使用** = HYPERLINK()**公式嗎? –
你試過** worksheet.Cells [i,j] .Hyperlink ** = new Uri(localfilepath)? –
@TimWilliams由於數據是從數據集加載的,因此無法工作。 – IEnumerator