Я использую метод экспорта в моем контроллере для загрузки данных из таблицы в файл Excel, используя этот метод:
вот моя таблица в индексном файле:
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>
@Html.DisplayNameFor(model => model.Marks)
</th>
<th>
@Html.DisplayNameFor(model => model.Grade)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Marks)
</td>
<td>
@Html.DisplayFor(modelItem => item.Grade)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.id }) |
@Html.ActionLink("Details", "Details", new { id=item.id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.id })
</td>
</tr>
}
</table>
и в моем контроллере я написал этот метод, который срабатывает, когда вы нажимаете кнопку экспорта в индексном представлении:
public ActionResult ExportData()
{
GridView gv = new GridView();
gv.DataSource = db.Studentrecords.ToList();
gv.DataBind();
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=Marklist.xls");
Response.ContentType = "application/ms-excel";
Response.Charset = "";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
return RedirectToAction("StudentDetails");
}
все работает нормально, таблица легко загружается в файл Excel, но когда я открываю файл, в начале открытого файла выдается такая ошибка:
Формат файла не соответствует. Файл может быть поврежден или небезопасен.
Проблема возникает главным образом потому, что файл сохраняется в формате xls, где, как я хочу сохранить его в формате xlxs, как это возможно?