Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Open an Existing Excel File

Îåêßíçóå áðü ôï ìÝëïò georgia. Τελευταία δημοσίευση από το μέλος kostasdiktia στις 17-03-2006, 09:33. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-03-2006, 14:04 10329

    Open an Existing Excel File

    Λοιπον.... έχω ένα αρχείο xls σε κάποιο directory στο δίσκο. Δεν θέλω να το βάλω σε datatable (φανταστείτε ότι είναι ένα μορφοποιημένο αρχείο χωρις να έχει  καν τη μορφή μιας απλής λίστας) θέλω απλά να ανοίξει μέσα από το excel και ο χρήστης να το δει. Καμιά ιδέα????????

  •  03-03-2006, 14:14 10330 σε απάντηση της 10329

    Απ: Open an Existing Excel File

    Γεια σου Γεωργία.

    Δεν μπορώ να καταλάβω τι θέλεις να πεις. Έχεις ένα αρχείο XLS το οποίο θέλεις να ανοίξεις μέσα από το EXCEL. Εδώ έχεις κάνει κάποιο λάθος; Μήπως θέλεις να πεις μέσα από την εφαρμογή σου;
  •  03-03-2006, 14:48 10332 σε απάντηση της 10329

    Indifferent [:|] Απ: Open an Existing Excel File

    Γειά σου Geοrgia.

    Υπάρχουν πολλοί τρόποι για να πάρεις τον έλεγχο του Excel και να "σηκώσεις" το Workbook που θέλεις, ένας από αυτούς (managed) έχει ώς εξής:

    Πρώτα πρέπει να προσθέσεις στο Project ένα Reference στο Microsoft Excel Object Library (COM Tab).

    Ο κώδικας που ακολουθεί είναι σε C# αλλά είναι εύκολο να μεταφραστεί σε VB.

     

    Excel.Application myApp = new Excel.Application();
    Excel.Workbook myBook;

    //Get an Existing WorkBook

       //Fpath is the a string with the full path of the xls file

    myBook = myApp.Workbooks.Open(Fpath,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);

    myBook.Application.Visible = true; //or false

    Άν χρειαστείς κώδικα για να διαχειριστείς τα Worksheet ή τα Cells, just ask....

     

  •  08-03-2006, 14:51 10478 σε απάντηση της 10332

    Απ: Open an Existing Excel File

    thanks για την βοήθεια... κατι τέτοιο είχα προσπαθήσει και εγώ το κακό είναι ότι για κάποιο λόγο

    που δεν καταλαβαίνω πετάει το εξής λάθος

    "An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in EconomicManagment.exe

    Additional information: Old format or invalid type library."

    Καμιά ιδέα?

  •  08-03-2006, 15:15 10479 σε απάντηση της 10478

    Απ: Open an Existing Excel File

    Αν θέλεις απλά μέσα από την εφαρμογή σου να καλέσεις το Excel, μπορείς να χρησιμοποιήσεις το System.Diagnostics.Process namespace για να εκκινήσεις το excel με φορτωμένο το αρχείο που θέλεις. Αν ειναι αυτό που ζητάς, πες μου για να σου γράψω τον αντίστοιχο κώδικα.
    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  08-03-2006, 15:35 10482 σε απάντηση της 10332

    Απ: Open an Existing Excel File

    τελικά το βρήκα ... πριν την κλήση του excel αλλάζεις το

    CultureInfo σε "en-US" και το πρόβλημα λύνεται. απλά στη συνέχεια επαναφέρεις το CultureInfo

  •  17-03-2006, 09:33 10755 σε απάντηση της 10329

    Απ: Open an Existing Excel File

    Dim xlApp As Excel.Application

    Dim xlBook As Excel.Workbook

    Dim xlSheet As Excel.Worksheet

    Dim temp as string



    xlApp = CType(CreateObject("Excel.Application"), Excel.Application)

    xlBook = CType(xlApp.Workbooks.Add, Excel.Workbook)

    temp = System.IO.Path.GetFullPath("Print.xls")

    xlBook = xlApp.Workbooks.Open(temp)



    xlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)



    Έτσι το ανοίγεις και κάνεις κάνεις αλλαγές by code, μπορείς επίσης να κάνεις την xlApp.visible = True για να εμφανίζεται και στον χρήστη το xls file. Μην ξεχάσεις όπως είπε και ο evliatsas το Reference στο Microsoft Excel Object Library (COM).

    Το παράδειγμα ανοίγει το xls file Print, που βρίσκεται στο path του .exe

    Α και κάτι ακόμα...

    xlBook.Close(False)        ' κλείνει το xls χωρίς να αποθηκεύει τις διάφορες αλλαγές που έχεις κάνει και χωρίς να βγάζει κάποιο μήνυμα προς τον χρήστη..με True τις αποθηκεύει.. 

     



     


    No knowledge can be certain, if it is not based
    upon mathematics or upon some other knowledge
    which is itself based upon the mathematical
    sciences.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems