Abrir archivos de Excel desde Internet abre una ventana de Excel en blanco

Recientemente se rompió un método para descargar un archivo GridView en un archivo Excel para descargar / abrir desde Internet con nuevas actualizaciones de Windows.

Mi código volca desde un GridView a un archivo XLS usando StringWriter, HTMLTextWriter y RenderControl. Un enfoque común usando el siguiente código dehttp://www.aspsnippets.com/Articles/Export-GridView-to-Excel-in-ASPNet-with-Formatting-using-C-and-VBNet.aspx

Protected Sub ExportToExcel(sender As Object, e As EventArgs)
    Response.Clear()
    Response.Buffer = True
    Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.xls")
    Response.Charset = ""
    Response.ContentType = "application/vnd.ms-excel"
    Using sw As New StringWriter()
        Dim hw As New HtmlTextWriter(sw)

        'To Export all pages
        GridView1.AllowPaging = False
        Me.BindGrid()

        GridView1.HeaderRow.BackColor = Color.White
        For Each cell As TableCell In GridView1.HeaderRow.Cells
            cell.BackColor = GridView1.HeaderStyle.BackColor
        Next
        For Each row As GridViewRow In GridView1.Rows
            row.BackColor = Color.White
            For Each cell As TableCell In row.Cells
                If row.RowIndex Mod 2 = 0 Then
                    cell.BackColor = GridView1.AlternatingRowStyle.BackColor
                Else
                    cell.BackColor = GridView1.RowStyle.BackColor
                End If
                cell.CssClass = "textmode"
            Next
        Next

        GridView1.RenderControl(hw)
        'style to format numbers to string
        Dim style As String = "<style> .textmode { } </style>"
        Response.Write(style)
        Response.Output.Write(sw.ToString())
        Response.Flush()
        Response.[End]()
    End Using
End Sub

Public Overrides Sub VerifyRenderingInServerForm(control As Control)
    ' Verifies that the control is rendered
End Sub

Excel (2013) se abrirá en una ventana en blanco, sin advertencia o mensaje de por qué se bloqueó algo, y sin la opción de aceptar que el archivo se abra.

Mi código se ejecuta en un sitio de intranet, y tengo acceso a las políticas / configuraciones / configuraciones de usuario del grupo en Windows.

Respuestas a la pregunta(7)

Su respuesta a la pregunta