2013-09-17 5 views
0

Может кто-нибудь помочь мне Я новичок и понятия не имею, как можно сделать преобразование.export html file to excel using asp.net

Вот мой код:

Response.Clear(); 
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename + ".xls"); 
Response.ContentType = "application/vnd.ms-excel"; 
Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.Charset = ""; 
StringWriter sw = new StringWriter(); 
HtmlTextWriter hw = new HtmlTextWriter(sw); 
Response.ContentEncoding = System.Text.Encoding.Unicode; 
fuFile.RenderControl(hw); 
Response.Output.Write(sw.ToString().Replace(" ", "").Replace("&", "&")); 
Response.End(); 

Разве это не достаточно, чтобы экспортировать файл HTML в Excel?

+0

Что вы пытаетесь экспортировать? Данные в html-файле? –

+0

Похоже, вы пытаетесь загрузить файл ('fuFile') и вернуть его содержимое пользователю в формате Excel? Если это так, обновите свой вопрос тем, что вы пытаетесь сделать, и мы можем помочь вам найти приемлемое решение. –

+0

Я пытаюсь позволить пользователю загрузить файл html, а затем преобразовать его в файл Excel при нажатии кнопки. – user2764839

ответ

2

Я нашел, что это работает:

String content = "<html><body><table><tr><td>your table</td></tr></table></body></html>"; 

Response.Clear(); 
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename + ".xls"); 
Response.ContentType = "application/vnd.xls"; 
Response.Cache.SetCacheability(HttpCacheability.NoCache); // not necessarily required 
Response.Charset = ""; 
Response.Output.Write(content); 
Response.End(); 

Пока ваш контент хорошо сформированный HTML, это должно работать. Также обратите внимание, что комментарии, код VBA/макросы и несколько рабочих листов не работают с этим методом. Кроме того, не будет отображаться любой стиль, который не является встроенным.

И некоторые другие соображения по этому вопросу:
How can I export tables to excel from a webpage
http://www.c-sharpcorner.com/UploadFile/ankurmalik123/export-html-to-excel-and-more/