2009-06-18 6 views
1

Datagrid가있는 실버 라이트 2 앱과 서버로 돌아가서 Excel로 내보내기위한 버튼이 있습니다.Silverlight 데이터 그리드를 Excel로 내보내기 (왕복없이)

DataGrid를 나타내는 HTML 문자열을 만들 수 있습니다. 이 문자열을 html 요소에 연결하고 MIME 유형을 application = vnd.ms-excel로 설정하고 xls 파일을 열거 나 저장할지 묻는 프롬프트를 표시하고 싶습니다.

ASP가이 작업을 수행 할 수있는 모든 경우에 나는 HTML의 DOM에 밀어, 실버 내에서 비슷한 일을 할 수 있어야처럼 ...

<% The main feature of this technique is that %> 
<% you have to change Content type to ms-excel.%> 

Response.ContentType = "application/vnd.ms-excel" 
<TABLE> 
<TR><TD>2</TD></TR> 
<TR><TD>3</TD></TR> 
<TR><TD>=SUM(A1:A2)</TD></TR> 
</TABLE> 

이 ... 보인다 후

.

모든 의견을 매우 높이 평가합니다.

답변

1

언제든지 javascript를 사용하여 데이터 클립의 콘텐츠를 사용자 클립 보드에 복사 한 다음 ('클립 보드에 복사'버튼 만 작성) 사용자가 자신의 스프레드 시트에 붙여 넣을 수 있도록 할 수 있습니다. 그들은 솔루션에 만족했습니다.) 필요한 경우 코드를 게시 할 수 있습니다.

1

아니요. SL이 게시 한 서버에서 브라우저를 가져와야합니다.

브라우저가 문서를 HTML DOM으로 만들었 으면 브라우저가 호스트 된 문서에만 HTML을 쓸 수 있습니다. 따라서 작성중인 텍스트 스트림이 Excel 스프레드 시트와 같은 다른 문서 유형이라는 점을 브라우저에 납득시킬 수 없습니다.

+0

감사 일한 좋은 방법입니다. 네가 말하는 것을보고, 문서화되지 않은 기능이 있기를 바랐다. 어쩌면 HtmlPage.PopupWindow를 오버로드하여 HTML 문자열을 인라인으로 허용 할 수 있습니다. 나는 변호사가 파울 울지지도 모른다 고 생각한다. 이 사람이 원했던 것과 개념적으로 유사 ... http://bytes.com/groups/javascript/93938-create-excel-spreadsheet-javascript –