2009-06-18 4 views
1

У меня есть приложение silverlight 2 с Datagrid и кнопка для экспорта в Excel, отправив его обратно на сервер.Silverlight Экспорт Datagrid в Excel (без обратной линии)

Я могу создать строку HTML, представляющую datagrid. Я хотел бы привязать эту строку к элементу html, установив MIME type = application/vnd.ms-excel и попросив приглашение указать, хочу ли я открыть или сохранить файл xls.

В конце концов, если ASP может это сделать ...

<% 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> 

... мне кажется, что я должен быть в состоянии сделать что-то подобное внутри Silverlight, толкая его на HTML DOM.

Любые предложения с благодарностью!

ответ

1

Вы всегда можете скопировать содержимое datagrid в буфер обмена пользователей с помощью javascript (просто создайте кнопку «копировать в буфер обмена»), а затем разрешите им вставлять ее в свою электронную таблицу (просто сделали это для клиента и они были очень довольны решением.) Я могу отправить код, если вам нужно.

1

Нет, это не произойдет. Вам нужно будет заставить браузер получить что-то с сервера, который опубликовал ваш SL.

Вы можете писать HTML только в документ, размещенный в браузере, когда браузер создал документ как HTML DOM. Следовательно, вы не можете убедить браузер, что поток текста, который вы пишете, - это другой тип документа, такой как электронная таблица Excel.

+0

Спасибо. Я вижу, что вы говорите, надеялся, что есть недокументированная функция. Возможно, они могут перегрузить HtmlPage.PopupWindow, чтобы он принял строку html inline, по крайней мере, с IE, так как они принадлежат ей. Наверное, адвокаты могут заплакать, но все же. Концептуально похоже на то, что этот парень хочет ... http://bytes.com/groups/javascript/93938-create-excel-spreadsheet-javascript –

Смежные вопросы