none
Excel: Neue Instanz aus Template RRS feed

  • Frage

  • Hallo,

    ich habe ein Excel-Template als xlt-Datei vorliegen. Ich würde gerne von diesem Template eine neue Instanz erzeugen und öffnen. Wenn ich diese Datei per C# öffne, wird allerdings das Template selbst auf gemacht und keine neue Instanz erstellt. Ich könnte zwar selber per Code diese neue Datei im Format *.xls unter einem bestimmten Namen speichern, aber ich möchte das Speichern dem Benutzer überlassen.

    Weiß jemand, wie ich das Excel-File so öffnen kann, dass im Prinzip eine neue Datei daraus entsteht, wenn der Benutzer auf Speichern klickt und die Änderungen nicht gleich im Template gespeichert werden?

    Dienstag, 28. Juni 2011 08:29

Antworten

Alle Antworten

  • Hi,

    wäre es machbar, uns zu verraten, wie Du die Datei per C# öffnest? Der relevante Code wäre hilfreich, da dort sehr wahrscheinlich der Fehler zu suchen ist.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Dienstag, 28. Juni 2011 08:42
    Moderator
  • Excel.Application xlApp;
    Excel.Workbook xlWorkBook;
    Excel.Worksheet xlWorkSheet;
    object misValue = System.Reflection.Missing.Value;
    
    xlApp = new Excel.ApplicationClass();
    xlApp.Visible = true;
    
    string fileToOpen = @"C:\Vorlagen\Vorlage.xlt";
    xlWorkBook = xlApp.Workbooks.Open(fileToOpen, 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", true, false, 0, true, 1, 0);
    
    xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
    

    Hiermit öffne ich die Vorlage momentan, was dann eben entsprechend die Vorlage selbst zur Bearbeitung öffnet.
    Dienstag, 28. Juni 2011 08:53
  • Hi,

    gib mal im zehnten Parameter false anstelle von true an. (das true hinter "\t").

      http://msdn.microsoft.com/de-de/library/microsoft.office.interop.excel.workbooks.open.aspx

    Editable sollte IIRC auf False stehen, da ansonsten eben das Template editiert wird.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert SPDeveloperXP Dienstag, 28. Juni 2011 09:14
    Dienstag, 28. Juni 2011 09:09
    Moderator
  • Ahh, das scheint es gewesen zu sein!

    Super, vielen Dank!

    Dienstag, 28. Juni 2011 09:14