2017-11-03 13 views
0

C# MVC 5의 셀로 내보낼 때 Excel 시트의 셀에 하이퍼 링크를 만들고 싶습니다. 표보기를 사용하여 Excel로 내보내는 중입니다. 앵커 태그를 사용하여 링크를 만들었습니다. 파일을 내보낼 때 해당 필드를 문자열로 읽습니다. 이것을 달성하는 다른 방법은 무엇입니까? 다음은asp.net에서 프로그래밍 방식으로 하이퍼 링크를 만드는 방법 C# mvc 5 excel 시트 셀을 Excel로 내보내는 동안 Excel보기

내가 시도 것입니다 :

var result = from cssd in csdvm.FillControlStatusDetails.AsEnumerable() 
        select new 
        { 
      link = "<a href='www.google.com'> Link</a> 
     } 

GridView gvExport = new GridView(); 
gvExport.AutoGenerateColumns = false; 

BoundField nameColumn = new BoundField(); 
nameColumn.DataField = "link"; 
nameColumn.HeaderText = "Link"; 
gvExport.Columns.Add(nameColumn); 

gvExport.DataSource = result.AsQueryable().ToList(); 

gvExport.DataBind(); 
gen.CreateExportHeaderRow(gvExport, "Control Status - Details"); 

Response.Clear(); 
Response.Buffer = true; 
Response.AddHeader("content-disposition", "attachment; filename=ControlStatusDeatils-" + DateTime.Now.ToFileTimeUtc() + ".xls"); 
Response.ContentType = "application/vnd.xls"; 
Response.Charset = ""; 

System.IO.StringWriter sw = new System.IO.StringWriter(); 
System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw); 

gvExport.RenderControl(htw); 

Response.Output.Write(sw.ToString()); 
Response.Flush(); 
Response.End(); 
+0

를 엑셀로 내보내기를하고있는 중이 야 동안 엑셀 셀에 하이퍼 링크를 줄 수 있어요 위의 코드를 사용하여

답변

0

내가 링크를 추가 할 out..i는 루프를 사용하는 방법을 찾아 주셔서 감사합니다 아래

for (int i = 0; i < gvExport.Rows.Count; i++) 
var link = "<a href='" + gvExport.Rows[i].Cells[9].Text + "'>" + gvExport.Rows[i].Cells[10].Text+ "</a>" + "<br/>"; 
} 

gvExport했다있는 것이다. 행 [i]. 셀 [9]. 텍스트 = MvcHtmlString.Create (링크) .ToHtmlString(); 나는 실제로 내가 첨부 파일에 대한 링크를 제공 할