Frage

Ich habe eine Web-Anwendung, die über IE-Excel-Dateien bietet 7. Er fordert die Dateien mit einem HTTP GET aus einer URL, die die Daten mit dem Inhaltstyp ‚application / vnd.ms-excel‘ zurückgibt. Es öffnet sich dann die Tabellen in einem IFrame.

Das alles funktioniert gut, es sei denn, Excel bereits geöffnet ist, wenn eine Tabelle heruntergeladen wird. In diesem Fall ist es immer noch korrekt angezeigt, sondern wieder verwendet die Instanz von Excel, das offen ist. Wenn der IFrame geschlossen ist, hängt Excel. Excel wird erst freigeschaltet, wenn sich der Benutzer anmeldet aus der Web-Anwendung oder wenn sie eine Datei eines anderen Typs herunterladen.

Ich habe auf den bewährten Dreh ‚Anderen Anwendungen ignorieren‘ -Einstellung unter Extras | Optionen | Allgemein aber es hat das Problem nicht lösen.

Ich habe auch versucht, im Anschluss an die Schritte in diese Antwort (wie die verknüpft Referenz sagt) ohne Glück 'Dieses Problem wurde in Excel 2007 beta 2 behandelt worden.'

Gibt es irgendeine Art von ‚Beseitigung‘ Schritt, die ich derzeit nicht täte, was Excel von hängenden verhindern?

Versionen:

Excel 2003 (11.8220.8221) SP3

IE 7.0.5730.11 (Update Versionen: 0)

War es hilfreich?

Lösung 2

Weitere auf Robert Antwort , die folgende Zeile (Java) Code behebt dieses Problem, indem sie Excel aus hängenden verhindert:

response.setHeader("Content-Disposition", 
    "attachment; filename=\"" + filename + "\"");

[NB 'Antwort' ist ein HttpServletResponse]

Allerdings zwingt es die Tabelle in ein Excel-Fenster geladen werden, anstatt in der IFrame angezeigt wird ...

Update:. Zurücksetzen der URL des IFrame auf leere Kräfte, um die Excel-Instanz dieses Problem angeordnet und fixiert werden (ohne die Content-Disposition Änderung erforderlich)

Andere Tipps

Nicht sicher, ob das hilft, aber ...

Ich hatte ein ähnliches Problem (Erzeugung von CSV Inhalt on the fly) vor langer Zeit und alles, was ich denken kann ist, dass es etwas mit dem rechten Antwort Methoden aufgerufen zu tun hatte zu werden. Der Code war so etwas wie diese


Response.Clear();
Response.Buffer = true;

Response.AppendHeader("Content-Disposition", "attachment; filename=export.csv");
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.Cache.SetExpires(DateTime.MinValue);
Response.Cache.SetLastModified(DateTime.Now);
Response.Cache.SetMaxAge(new TimeSpan(1));
Response.ContentType = "text/csv";

Response.ContentEncoding = System.Text.Encoding.Unicode;

...
//Some  writing to the Response.OutputStream
...

Response.Flush();

//I am not sure about the following line:
Response.End(); 

Leider ist dies völlig aus der Hand. Es hängt wirklich davon ab, welche Version von Excel sie haben und welche Updates angewendet wurden.

Können Sie dieses Problem in Ihrer eigenen Umgebung reproduzieren? Wenn nicht, kann es ein Problem auf der Client-Computer sein. Gibt es eine Möglichkeit Sie herausfinden können, welche Optionen waren oder werent installiert ist, oder wenn Excel mit seinem Patches gepflegt wird?

Es scheint mir, dass Büro selbst muss neu installiert werden, wenn nicht IE 7 danach.

Ich würde auch in irgendwelche iFrame Schließung Fragen. Um diese Theorie zu testen, können Sie den iframe auf eine neue Seite veröffentlichen (ohne iframes) und dann mit Iframes auf einer Seite verlinkt und die Excel-Datei? Ich weiß, dass wahrscheinlich nicht‘sein eine funktionierende Lösung für Sie, aber es sollte Ihnen helfen, zu beseitigen, ob es excel, IE7 oder der iframe-Code einen Fehler hat.

Ist das etwas Sie in der Lage sind, zu reproduzieren, oder ist es Ihnen etwas von einem Kunden gemeldet werden, und Sie versuchen, es auf der Jagd nach?

Der Link, den Sie beschäftigt sich mit mehreren Monitoren zur Verfügung gestellt haben - ich habe auch mehrere Monitore, wenn ich meinen Laptop-Dock, und ich habe eine Reihe von Anwendungen gefunden und nicht reagieren. Zum Beispiel, wenn eine Anwendung eines modales Dialogfeld in einem Desktop-Raum zu öffnen versucht, die nicht mehr existiert (zum Beispiel auf meinem „zweiten Monitor“ nach I'veundocked meinem Laptop), wird die Anwendung sperren, da kann ich ‚t an die Box bekommen. Könnte das sein, was hier passiert?

Ein weiteres mögliches Problem geschieht, wenn der Benutzer für eine Art der Authentifizierung sind gefragt, wenn sie die Excel-Datei. Auf unserer Sharepoint-Website, will Excel die Benutzer zu authentifizieren, und wenn der modalen Authentifizierungs-Dialog wird irgendwie in den Hintergrund gedrängt, kann es unmöglich sein, wieder nach vorne zu kommen. Der einzige Weg ist, wenn Sie den Prozess beenden oder wenn Sie den Sharepoint-Browser zu schließen, denn das ist die Anforderung für die Datei an erster Stelle beendet.

Hope, das hilft, und wenn einer von ihnen geben Ihnen einige weitere Hinweise, veröffentlichen sie hier und wir bekommen diese gelöst werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top