언뜻보기에 Excel 파일에 많은 하이퍼 링크를 추가해야하고 프로그래머는 수동으로하고 싶지는 않지만 수행하려고합니다. 프로그래밍 방식으로 인터넷을 통해 검색했지만 프로그래밍 방식으로 웹의 하이퍼 링크를 추가하는 방법 (현재 Excel 하이퍼 링크가 아닌) 만 찾는 방법을 찾습니다. 그래서 프로그래밍 방식으로 현재 Excel 파일의 하이퍼 링크 (또는 로컬 하이퍼 링크)를 추가하는 방법을 찾는 것이 이상적이라고 생각합니다.C#을 사용하여 Excel의 셀에 하이퍼 링크를 추가하는 방법
2
A
답변
1
라이브러리 Microsoft.Office.Interop.Excel을 사용하여 Excel의 셀에 하이퍼 링크를 추가하는 방법을 찾지 못했지만 클립 보드 데이터를 통해 하이퍼 링크를 추가 할 수있는 이상이 생겼습니다.
Excel의 클립 보드 데이터를 조사한 결과 엑셀 데이터가 HTML 데이터라는 것을 알았습니다. 그래서 HTML로 데이터를 처리 및 Excel에 붙여 넣습니다 - 그리고 BAM - 우리는 엑셀의 세포
우리는이
class HDNData
{
StringBuilder builder;
public void SetBuilder(StringBuilder dataBuilder)
{
this.builder = dataBuilder;
}
public string Data { get; set; }
public string Hyperlink { get; set; }
public string HexColor { get; set; }
public override string ToString()
{
builder.Clear();
bool hasHyperlink = !string.IsNullOrEmpty(Hyperlink);
bool hasColor = !string.IsNullOrEmpty(HexColor);
if (hasHyperlink)
{
builder.Append("<a href=\"");
builder.Append(Hyperlink);
builder.Append("\">");
}
if(hasColor)
{
builder.Append("<span style='color:");
builder.Append(HexColor);
builder.Append("'>");
}
builder.AppendLine(Data);
if (hasHyperlink)
builder.Append("</a>");
return builder.ToString();
}
}
class HDNHtml
{
StringBuilder builder = new StringBuilder();
StringBuilder cellBuilder = new StringBuilder();
private List<List<HDNData>> data = new List<List<HDNData>>();
public void Add(int i, HDNData hdnData)
{
if(i < data.Count)
{
hdnData.SetBuilder(cellBuilder);
data[i].Add(hdnData);
}
else
{
if (i == data.Count)
{
data.Add(new List<HDNData>());
hdnData.SetBuilder(cellBuilder);
data[i].Add(hdnData);
}
}
}
public override string ToString()
{
builder.Clear();
builder.AppendLine("<html>");
builder.AppendLine("<head></head>");
builder.AppendLine("<body>");
builder.AppendLine("<table>");
builder.AppendLine("<col>");
foreach (List<HDNData> row in data)
{
builder.AppendLine("<tr>");
foreach (HDNData col in row)
{
builder.AppendLine("<td>");
builder.Append(col.ToString());
builder.AppendLine("</td>");
}
builder.AppendLine("</tr>");
}
builder.AppendLine("</table>");
builder.AppendLine("</body>");
builder.AppendLine("</html>");
return builder.ToString();
}
}
같은 클래스를 가지고 그리고이
같은 클래스를 사용에 대한 하이퍼 링크를 가지고HDNHtml hdn = new HDNHtml();
Random r = new Random();
HDNData hdnData = new HDNData();
hdnData.Data = r.Next().ToString();
hdnData.HexColor = "#FFCCFF";
hdn.Add(0,hdnData);
hdnData = new HDNData();
hdnData.Data = r.Next().ToString();
hdnData.Hyperlink = "#GTA";
hdn.Add(0, hdnData);
hdnData = new HDNData();
hdnData.Data = r.Next().ToString();
hdnData.Hyperlink = "#GTA";
hdn.Add(0, hdnData);
hdnData = new HDNData();
hdnData.Data = r.Next().ToString();
hdnData.Hyperlink = "#GTA";
hdn.Add(1, hdnData);
hdnData = new HDNData();
hdnData.Data = r.Next().ToString();
hdnData.Hyperlink = "#GTA";
hdn.Add(1, hdnData);
string data = hdn.ToString();
txtWarnings.Text = data;
Clipboard.SetText(data);
이제 코드를 실행하고 클립 보드 데이터를 Excel의 시트에 붙여 넣으십시오. Excel 통합 문서에서 셀 이름을 더럽혀 야합니다 : GTA, 따라서 Excel의 셀의 하이퍼 링크가 해당 GTA 셀에 연결됩니다.
2
Excel에서 HYPERLINK()
function 지원
HYPERLINK(link_location, [friendly_name])
내가 그런 당신이 찾고있는 것과
HYPERLINK()
기능의 일반적인 예에 대한 위의 링크 한 페이지를 살펴 보자.
예를 들어, 다음 공식은 파일을 열고 연말 워크 시트로 이동하고 F10을 선택합니다. 하이퍼 링크 텍스트는 셀 D1의 내용입니다. 위의 예에서
는 Excel 파일은 HTTP 위치에, 그러나 아래 그림과 같이이 동일하게 로컬 경로가 될 수있다 :=HYPERLINK("[D:\Documents\budget report.xlsx]Annual!F10", D1)
관련 문제
- 1. Excel의 탭에 하이퍼 링크를 추가하는 방법은 무엇입니까?
- 2. TMS Flexcel을 사용하여 Excel 셀에 하이퍼 링크를 추가하는 방법
- 3. JLabel에서 하이퍼 링크를 추가하는 방법
- 4. Excel의 긴 열에 하이퍼 링크를 추가 하시겠습니까?
- 5. Excel의 셀에 Sum 수식을 추가하는 방법
- 6. 하이퍼 링크를 사용하지 않고 office-js를 사용하여 워크 시트의 셀에 하이퍼 링크를 추가하는 방법은 무엇입니까?
- 7. 데이터베이스에 하이퍼 링크를 추가하는 방법
- 8. Interop를 사용하여 슬라이드에 하이퍼 링크를 추가하는 방법
- 9. gridview에 하이퍼 링크를 추가하는 방법
- 10. Java를 사용하여 Excel 셀에 두 개의 하이퍼 링크를 작성하는 방법
- 11. GridView 셀에 하이퍼 링크를 추가하려고하면 텍스트가 생성됩니다.
- 12. XtraGrid Suite - 버튼 또는 하이퍼 링크를 셀에 추가하는 방법이 있습니까?
- 13. vb.net의 Excel 셀에 둘 이상의 하이퍼 링크를 추가하는 방법이 있습니까?
- 14. Excel의 자동 하이퍼 링크?
- 15. Excel의 하이퍼 링크 나열
- 16. FullCalendar 셀에 버튼과 링크를 추가하는 방법
- 17. 이클립스 javadocs의 주석에 하이퍼 링크를 추가하는 방법
- 18. ireport에 전자 메일 하이퍼 링크를 추가하는 방법
- 19. 배너에 하이퍼 링크를 홈페이지에 다시 추가하는 방법
- 20. fb 메신저에 하이퍼 링크를 추가하는 방법
- 21. Gridview의 AutoGeneratedEdit Button에 하이퍼 링크를 추가하는 방법
- 22. 특정 단어에 하이퍼 링크를 추가하는 방법
- 23. 드롭 다운 메뉴에 하이퍼 링크를 추가하는 방법
- 24. 데이터 - *에 다른 하이퍼 링크를 추가하는 방법?
- 25. 아이폰의 테이블 뷰 셀에 하이퍼 링크를 부여하십시오.
- 26. Excel의 자동 하이퍼 링크
- 27. 엑셀 vba로 하이퍼 링크를 추가하는 코드 반복
- 28. 사용자가 링크를 클릭하면 셀에 하이퍼 링크로 이메일을 쓰는 방법 phpexcel?
- 29. apache poi를 사용하여 Excel에 간단한 하이퍼 링크를 추가하는 방법은 무엇입니까?
- 30. Angular2에서 * ngFor를 사용하여 테이블의 열에 하이퍼 링크를 추가하는 방법