2016-05-20 3 views
3

Я хочу экспортировать таблицу строк в html. При попытке экспортировать и когда я нажимаю сохранить, я получаю следующее исключениеЭкспорт таблицы html в файл Excel с использованием ASP.NET MVC

Сервер не может добавить заголовок после отправки HTTP заголовков

Это мой HTML таблице:

string tab = "<table cellpadding='5' style='border:1px solid black; border-collapse:collapse'>"; 
tab += "<tr><td style=' border-width:1px;border-style:solid;border-color:black;'>NumClient</td><td style=' border-width:1px;border-style:solid;border-color:black;'>Raison Sociale</td></tr>"; 
tab += "<tr><td style='border-width:1px;border-style:solid;border-color:black;'>" + NumClient + "</td><td style='border-width:1px;border-style:solid;border-color:black;'>" 
+ Rs + "</td><td style='border-width:1px;border-style:solid;border-color:black;text-align:right;'> </td></tr>"; 
tab += "</table>"; 

Это код контроллера:

Response.ClearContent(); 
Response.AddHeader("Content-Disposition", "attachment; filename=Reliquat.csv"); 
Response.ContentType = "text/csv"; 
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); 
Response.Write(tab); 
Response.End(); 

И когда я нажимаю conti nue Я получаю файл excel, который содержит html-код:

<table cellpadding='5' style='border:1px solid black; border-collapse:collapse'>"; 
tab += "<tr><td style=' border-width:1px;border-style:solid;border-color:black;'>NumClient</td><td style=' border-width:1px;border-style:solid;border-color:black;'>Raison Sociale</td></tr> 

У кого-нибудь есть решение для этого?

+1

тип содержимого неверно. Возможно, вы захотите изменить его на application/excel и использовать Reliquat.xslx в качестве имени файла – Hatjhie

+0

спасибо Hatjhie, но я получил ту же ошибку – Sarra

+0

Хорошо. Я думаю, что опубликованный ответ ниже сможет ответить на ваш вопрос. Вы можете попробовать. – Hatjhie

ответ

1

Возможно, вы захотите использовать приведенные ниже коды. Надеюсь, это сработает.

Response.ClearContent(); 
Response.ClearHeaders(); 
Response.BufferOutput = true; 
Response.ContentType = "application/excel"; 
Response.AddHeader("Content-Disposition", "attachment; filename=Reliquat.xslx"); 
Response.Write(tab); 
Response.Flush(); 
Response.Close(); 
Response.End(); 

Отсюда: http://www.codescratcher.com/asp-net/export-html-excel-asp-net/

+0

Это образец веб-форм, но вы можете изменить его для работы с MVC –

+0

Спасибо Jernej, но я не очень хорошо понимаю webForms. У вас есть пример с MVC? :) – Sarra

+0

Когда я пробовал код ниже, я получил следующее исключение: Удаленный хост закрыл соединение. Код ошибки: 0x80070057. – Sarra