2008-11-14 2 views
1

브라우저에서 Excel 파일로 렌더링해야하는 일부 콘텐츠가 있습니다. 아래 코드를 사용하여 그리드 컨텐츠를 렌더링 할 수있었습니다.브라우저에서 Excel 렌더링

Response.Clear(); 
    Response.AddHeader("content-disposition", "attachment;filename=FileName.xls"); 
    Response.Charset = ""; 
    Response.ContentType = "application/vnd.xls"; 
    System.IO.StringWriter stringWrite = new System.IO.StringWriter(); 
    System.Web.UI.HtmlTextWriter htmlWrite = 
    new HtmlTextWriter(stringWrite); 
    GridView1.RenderControl(htmlWrite); 
    htmlWrite.Write(stringWrite); 
    Response.Write(stringWrite.ToString()); 
    Response.End(); 

이제 이미지와 비슷한 것을해야합니다. 즉, 이미지를 렌더링 할 수있는 코드가 필요합니다.

나는 사용자가 엑셀을 열면 이미지를 볼 수 있어야한다는 것을 의미합니다.

이미지를 base64sting 형식으로 변환하여 Excel에 넣을 수 있습니까?

이와 비슷한 의견이 있으면 알려 주시기 바랍니다.

감사 비 노드 T. 내가 엑셀로 그리드 데이터 (태그 HTML)를 얻기 위해 해킹의 같은 종류를 사용하고

답변

2

. 당신이 작성하는 HTML 데이터 인 경우

, 당신이 이미지를 원하는 HTML 텍스트로> < IMG SRC = "MYFILENAME.JPG를 추가합니다.

무슨 일이 일어날 지, Excel에서 서버를 요청할 것입니다 해당 파일에 대한 (asp.net 응용 프로그램)

당신은 이미지 < IMG SRC = "HTTP에 전체 경로를 추가 할 수 있습니다. 패킷을 사용 //myserver/subpath/MYFILENAME.JPG >

스니퍼, 나는 Excel에서 IMG 파일을 요청할 것임을 확인 했으므로 su 이미지를 다운로드 할 준비가되었습니다. (asp.net 스트림으로) 또는 물리적으로.

내 테스트 HTML.
< HTML>
< 테이블>
< TR> < TD> 시험 </TD> < TD> 시험 </TD < TD> 시험 </TD> </TR>
< TR> < TD> 시험 </TD> < TD> 시험 </TD> < TD> 시험 </TD> </TR>
< TR> < TD> 시험 </TD>,321 0 TD> 테스트 </TD> < TD> < IMG SRC = "HTTP : //myserver/LALLAALLAA.jpg"> </TD> </TR>
</테이블>
</HTML>

유일한 이미지 인 경우 테이블 태그가없는 경우와 동일합니다. 그냥 HTML과 IMG 태그.

+0

덕분에 대단히 ...이 노력하고 있습니다 ... 내 옆에 작업이 여러 페이지를 렌더링 파일을 능가하는 것입니다 ... 당신은 알려 주시기 바랍니다 수 있습니다 전에도 이런 식으로 시도한 적이 있습니까? – Vinodtiru

0

오. 또 다른 더 복잡한 방법은 .MHT 파일 (webarchive) 파일을 만드는 것입니다. 여기에는 HTML과 이미지가 동일한 파일에 포함되어 있습니다. 그런 식으로 스트림을 하나만 출력 할 수 있습니다. 하지만 엑셀이 MHT 콘텐츠를 인식하고 보여줄지는 모른다.

0

Office 2007 문서 (Word, PowerPoint 및 Excel)는 OpenXML 형식을 기반으로합니다. 그것들은 일련의 XML과 바이너리 파트 (이미지와 같은)가있는 zip 파일입니다. 프레임 워크의 XML 클래스 중 하나를 사용하여 XML 클래스를 만든 다음 패키징 API (WindowsBase.dll의 System.IO.Packaging)와 함께 조각을 배치 할 수 있습니다.

자세한 내용은 OpenXMLDeveloper.org를 확인하십시오.

관련 문제