В ASP.NET я экспортирую некоторые данные в Excel, просто привязав DataSet к GridView, а затем установив ContentType в Excel.
Моя страница ASPX очень проста и выглядит следующим образом:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ExamExportReport.aspx.cs" Inherits="Cabi.CamCentral.Web.Pages.Utility.ExamExportReport" %>
<html>
<body>
<form id="form1" runat="server">
<asp:GridView
ID="gridExam"
AutoGenerateColumns="true"
runat="server">
</asp:GridView>
</form>
</body>
</html>
В методе Page_Load кода позади я делаю это:
protected void Page_Load(object sender, EventArgs e)
{
BindGrid();
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "attachment; filename=ExamExport.xls");
}
Как правило, все работает отлично, и файл Excel выскакивает с нужными данными. Проблема в том, что файл Excel всегда заканчивается пустой первой строкой прямо над заголовками столбцов. Я просто не могу понять, что вызывает это. Может быть, это что-то о теге формы? Может быть, мне нужно добавить стиль или что-то, чтобы убрать отступы или поля? Я перепробовал кучу вещей, но я просто не могу избавиться от этой чертовой первой пустой строки. Кто-нибудь еще сталкивался с этим? Любые решения?