Frage

Ich habe ein Szenario, in dem auf einem Client entweder Excel 2007 oder Excel 2010 installiert sein könnte. Ich muss in der Lage sein, von ihnen erstellte Excel-Dateien zu exportieren und zu importieren. OLEDB ist keine Option, daher wollte ich Interop-Dienste verwenden.

Die Frage ist, wann ich für 2010 codiert habe, dass es für 2007 nicht funktioniert hat und umgekehrt, wie kann ich das erreichen?

Kann ich beide Referenzen irgendwie importieren und Excel abhängig von der installierten Version definieren?

using Excel = Microsoft.Office.Interop.Excel;
Excel.Application xlApp;
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;
            Excel.Range xlRange;

            object misValue = System.Reflection.Missing.Value;

            pbarExcelGenerate.Visible = true;

            xlApp = new Excel.Application();
            xlWorkBook = xlApp.Workbooks.Add(misValue);

            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
            xlWorkSheet.Name = "Material Results";

            pbarExcelGenerate.Value = 5;


            xlRange = xlWorkSheet.get_Range("a1", "b1");
            xlRange.Merge(false);
            xlRange.Value = "Material Name";
            xlRange.HorizontalAlignment = 3;
            xlRange.Font.Bold = true;
            xlRange.Font.Size = 16;

War es hilfreich?

Lösung

Nein, können Sie nicht ... Sie können entweder die niedrigere Version für beide verwenden ... oder eine Bibliothek eines Drittanbieters (kostenlos oder kommerziell) verwenden, für die Excel überhaupt nicht installiert werden muss, oder Sie können verwendenRaw COM für den Zugriff auf Excel, was viel weniger komfortabel wäre, aber solche Dinge zulässt.

BEARBEITEN - gemäß Kommentar (danke an @Rup):

Sie können die ältere Version von VSTO unter http: / herunterladen/www.microsoft.com/download/en/details.aspx?DisplayLang=de&id=23656 , das mit der Interop-Bibliothek für 2007 geliefert werden sollte

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