Forum: ASP.NET |
Thema:
Excel in Browser öffen - funktioniert nicht |
Von:
Oliver Bauckmann (
06.11.2005 17:53) |
Aus dem Buch "ASP.NET Kochbuch" habe ich das folgendes Beispiel (siehe unten), welches ein Excel-Sheet im Browser öffnen soll.
Wenn ich aber AutoEventWireup="false" setze, bleibt der Browser leet. Setze ich AutoEventWireup="true", dann kommt ein Zugriffsfehler (siehe unten). Laut Buch muß der Benutzer-Account "ASPNET" volle Zugriffsrechte auf das Excel-Installationsverzeichnis haben. Das hat er auch.
Angeblich soll die Integration von Excel in ASP.NET sehr einfach sein. Was mache ich falsch?
--- Beispiel aus Kapitel 15.1 ---
<%@ Page Language="c#" Debug="true" CodeBehind="Excel1.aspx.cs" AutoEventWireup="false" Inherits="EuroDollarWeb.Excel1" %>
<% @Import Namespace="System.IO" %>
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
Excel.Application excel = new Excel.Application();
Excel.Workbook workbook = excel.Workbooks.Add("Arbeitsmappe");
Excel.Worksheet worksheet = (Excel.Worksheet) workbook.Worksheets[1];
Excel.Range range = (Excel.Range) worksheet.Cells[1,1];
//range.Value="hallo Welt";
string tempfile = Path.GetTempFileName();
File.Delete(tempfile);
workbook.Close(true, tempfile, false);
excel.Quit();
Response.ContentType = "application/vnd.ms-excel";
Response.WriteFile(tempfile);
File.Delete(tempfile);
}
</script>
--- Zugriffsfehler ------------------------------------
Zugriff verweigert
Beschreibung: Beim Ausführen der aktuellen Webanforderung ist ein unverarbeiteter Fehler aufgetreten. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde.
Ausnahmedetails: System.UnauthorizedAccessException: Zugriff verweigert
ASP.NET darf auf die angeforderte Ressource nicht zugreifen. Gewähren Sie der ASP.NET-Prozessidentität Zugriffsrechte für die Ressource. ASP.NET hat eine Standardprozessidentität (gewöhnlich '{MACHINE}\ASPNET' unter IIS 5 bzw. Network Service unter IIS 6), die verwendet wird, wenn die Anwendung keinen Identitätswechsel ausführen kann. Wenn die Anwendung über <identity impersonate="true"/> einen Identitätswechsel ausführen kann, wird als Identität gewöhnlich der anonyme Benutzer (normalerweise IUSR_MACHINENAME) bzw. der authentifizierte Anfragebenutzer verwendet.
Um ASP.NET Schreibrechte für eine Datei zu gewähren, klicken Sie im Explorer mit der rechten Maustaste auf die Datei, wählen "Eigenschaften" und anschließend die Registerkarte "Sicherheit". Klicken Sie auf "Hinzufügen", um den entsprechenden Benutzer bzw. eine Gruppe hinzuzufügen. Markieren Sie das ASP.NET-Konto und aktivieren Sie jeweils das Kontrollkästchen für den gewünschten Zugriff.
Quellfehler:
Zeile 6: void Page_Load(object sender, EventArgs e)
Zeile 7: {
Zeile 8: Excel.Application excel = new Excel.Application();
Zeile 9: Excel.Workbook workbook = excel.Workbooks.Add("Arbeitsmappe");
Zeile 10: Excel.Worksheet worksheet = (Excel.Worksheet) workbook.Worksheets[1];
Quelldatei: C:\Inetpub\wwwroot\EuroDollarWeb\Excel1.aspx Zeile: 8
Stapelüberwachung:
[UnauthorizedAccessException: Zugriff verweigert]
ASP.Excel1_aspx.Page_Load(Object sender, EventArgs e) in C:\Inetpub\wwwroot\EuroDollarWeb\Excel1.aspx:8
System.EventHandler.Invoke(Object sender, EventArgs e) +0
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------------------------------------------
Versionsinformationen: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET-Version:1.1.4322.2032
Betreff |
Von |
Datum |
|
|
Re: Excel in Browser öffen - funktioniert nicht
das ist ein ziemlich übles Stück Code<br>Ich weis nicht was du brauchst , aber verusch mal den Ansatz<br>http://www.devtrain.de/news.aspx?artnr=912<br><br>zu Deinem problem<br><br>Hier fehlen natürlich Rechte... |
|
|
|
|
|
Hannes
Preishuber
|
07.11.2005 08:37 |
|
|
Re: Excel in Browser öffen - funktioniert nicht
Hallo,<br><br>Hannes. Ich hatte das Beispiel 912 schon vorher gesehen, konnte mir aber nicht vorstellen, dass es funktioniert. Geht aber. Danke.<br><br>Ich möchte aber gerne die Methoden von Excel nutzen, um... |
|
|
|
|
|
Oliver
Bauckmann
|
07.11.2005 09:42 |
|
|
Re: Excel in Browser öffen - funktioniert nicht
Jetzt habe ich schon mit einem erfahreneren ASP-Entwickler ausführlich über das Problem gesprochen. Die Zugriffsverletzung (siehe unten) taucht immer auf, wenn ich eine Instanz von Excel erzeugen... |
|
|
|
|
|
Oliver
Bauckmann
|
07.11.2005 16:54 |
|
|
Re: Excel in Browser öffen - funktioniert nicht
Hallo,<br><br>hatte ein ähnliches Problem, weil ich über Perl-OLE-Zugriff ein Excel-Instanz erzeugen wollte. Dabei bekam ich auch immer die Meldung "Zugriff verweigert".<br><br>Meine Lösung: Änderung der... |
|
|
|
|
|
G.
Guest
|
09.11.2005 13:04 |
|
|
Oliver
Bauckmann
|
09.11.2005 19:01 |
|
|
Hannes
Preishuber
|
09.11.2005 20:11 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!