Öffnen von excel-Dateien aus dem internet öffnet sich ein leeres excel-Fenster
Methode dumping ein GridView in eine Excel-Datei zum download/öffnen aus dem internet war kürzlich gebrochen mit neuen Windows-Updates.
Mein code-dumps von einer GridView in eine XLS-Datei mit StringWriter, HTMLTextWriter und RenderControl. Ein gemeinsames Konzept mit dem folgenden code aus http://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) öffnet sich ein leeres Fenster, ohne Warnung oder Meldung, warum etwas gesperrt wurde, und ohne die option zu akzeptieren, die Datei zu öffnen.
Mein code läuft auf einem intranet-Website, und ich habe auch Zugriff auf Gruppen-Richtlinien /Einstellungen /Benutzer-Konfigurationen in Windows.
InformationsquelleAutor Taylor Brown | 2016-07-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lösung 1
1) Öffnen Sie Excel, Gehen Sie zu Datei-Optionen
2) Klicken Sie auf Trust Center -> Einstellungen für das Vertrauensstellungscenter
3) Gehen Sie auf Geschützte Ansicht. es gibt 3 Optionen, die zeigen, dass waren alle geklickt. Deaktivieren Sie die erste option, die liest -- "Aktivieren," Geschützte Ansicht für Dateien aus dem Internet". In einigen Fällen-wie berichtet-in den Kommentaren unterhalb der 1. und 2. Optionen müssen deaktiviert sein (Danke @mosheb)
Lösung 2
Deinstallieren Sie diese Windows-Updates:
Ehrlich gesagt die einzige wahre Lösung, die ich gefunden habe, ist nicht für die Verwendung dieser code-block mehr. Wenn jemand das ändern diesen code und machen es Arbeit, die ich akzeptieren, dass die Antwort statt.
Ich legte diese als F/A-Stil auf Antwort auf meine eigene Frage, mein wissen zu teilen. Ich habe bearbeitet die Frage in einem Versuch, um besser zu beschreiben, was meine situation war und die Typen von Zugriff habe ich über meinen Benutzer und den code in die intranet-Umgebung ausgeführt wird. Dies diente als eine Lösung für mich angesichts meiner situation.
Wir hatten die Option die erste UND die zweite, um diese arbeiten auf unserem intranet
vielen Dank für diese. für die anderen dies wird sparen Sie Ihre Zeit.
InformationsquelleAutor Taylor Brown
Lösung 3
InformationsquelleAutor Josh Bucklen
ändern der Sicherheitsoptionen war leider keine option, aber es stellt sich heraus, dass, wenn Sie den export in eine CSV statt XLS dann wird die Datei in Excel öffnen ignoriert die trust-center-Zeug.
Sind wir in der Klassischen ASP -, so wechseln wir die Seite aus dem Export einer HTML-Tabelle, CSV-format und verändert unsere header und contenttype:
und Tat Zeilenumbrüche mit:
Response.Write (chr(10))
Wie haben Sie Ihre Seite, um die Ausgabe zu .csv? Als test nahm ich eine .xls wurde ausgegeben, die von meiner website kopiert, umbenannt und die extension ".csv". Öffnen Sie zeigte alle HTML-tags und es war chaotisch suchen. Ich freue mich auf evtl. mit dieser .csv-format als eine Lösung für diese leere Excel-Fenster problem beim öffnen des Dokuments beim export in Internet Explorer, aber ich bin mir nicht sicher, wie meine bestehenden Excel-export .csv-und habe es nicht schrecklich Aussehen.
Ich denke, du hast Recht, nur das ändern des content-type-Ausgabe dient nicht der Lösung. Ich denke, es ist ziemlich wenig code-änderungen fehlt diese Antwort. Korrigieren Sie mich, wenn ich falsch bin.
Das war mein Fazit nach meiner kleinen copy-paste-umbenennen-test vor. Vielleicht ist die OP hoffentlich können uns informieren. Ich gab mein manager ein paar Optionen für die Aktualisierung unserer website, um dieses Problem zu beheben und ich ihm riet, wir sollte schreiben Sie den Excel-export über das EPPlus open-source-Bibliothek. Es dauert mich mehrere Tage geschätzt, aber ich denke, es wird zu beheben.
InformationsquelleAutor user713813
Versuchen Sie Folgendes:
Ersetzen Sie "Anhang" aus
mit "inline"
Kann es helfen!
Content-Disposition:Was sind die Unterschiede zwischen "inline" und "Anlage"?
InformationsquelleAutor Akash Agrawal
Dachte, ich würde erwähnen, es gibt eine Dritte Lösung:
Fügen Sie die Website zu generieren .xls zu Ihrer Liste der Vertrauenswürdigen Sites. Ich musste über ein Dutzend websites, die über GPO, weil unsere CIO weigert sich, ein Rollback der KB... =(
Sorry - ja, Sie sind richtig. Kommentar gelöscht.
InformationsquelleAutor Raniel66
Pro Raniel66 Vorschlag, wenn die excel öffnet, als leer, auch nach dem hinzufügen der site zu den Vertrauenswürdige Sites Liste haben, können Sie versuchen/vorschlagen, unten umgehen.
Offenen excel-Arbeitsmappe, auch wenn es ausgegraut ist oder leer lassen, dann klicken Sie auf "Ansicht "- Reiter in der excel und klicken Sie dann auf "Vollbild/maximieren-Bildschirm-Symbol', wie gezeigt, im screen-shot unten. Das ist was für mich gearbeitet.
InformationsquelleAutor SRM
Dass gleiche Problem. Ein update blockiert diese nach excel exportieren Aktivität und nicht alle meine world-wide-Benutzer, Berechtigungen zu entsperren. Es wirkt sich auf 2010 und 2013 .xls. Mein Gedanke es mit dem Content-type. Haben Sie versucht, schalten Sie Ihre Content-Type von application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.Blatt und mit xlsx statt?
dies ist nicht wirklich eine Antwort so viel wie ein Vorschlag, und es scheint, jemand habe versucht, diesen Vorschlag und sagt, es funktioniert nicht.
InformationsquelleAutor CSEM