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

 

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

Ανοιγμα excel αρχείου τοποθέτηση τιμών και αποθήκευση με νέο ονομα

Îåêßíçóå áðü ôï ìÝëïò jimakos. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 03-02-2008, 23:19. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-02-2008, 22:46 39816

    Ανοιγμα excel αρχείου τοποθέτηση τιμών και αποθήκευση με νέο ονομα

    Καλησπέρα,

    θέλω να ρωτήσω εάν υπάρχει η δυνατότητα από μια σελίδα aspx να φορτώνο το excel application με άνοιγμα ενός αρχείου excel που θα βρίσκεται στο bin directory του project.

    δοκίμασα το παρακάτω κώδικα αλλά .... δεν δουλεψε.    Μήπως είναι λάθος ο τρόπος,  μήπως  γίνεται διαφορετικά ????

    ευχαριστώ πολύ προκαταβολικά!!!

     

    Dim oExcel As Object

    Dim oBook As Object

    Dim oSheet As Object

    'Start a new workbook in Excel.

    oExcel = CreateObject("Excel.Application")

    oBook = oExcel.Workbooks.open("../dokimi.xlt")

    'Add data to cells of the first worksheet in the new workbook.

    oSheet = oBook.Worksheets(1)

    oSheet.Range("A1").Value = "Last Name"

    oExcel.visible = True

    oSheet = Nothing

    oBook = Nothing

    oExcel = Nothing

    Δημοσίευση στην κατηγορία:
  •  03-02-2008, 23:19 39818 σε απάντηση της 39816

    Απ: Ανοιγμα excel αρχείου τοποθέτηση τιμών και αποθήκευση με νέο ονομα

    Αν κάνεις ένα search θα δεις ότι το θέμα έχει συζητηθεί αρκετές φορές στο παρελθόν. Η χρήση του Automation για να επικοινωνήσεις με το Excel είναι κακή ιδέα για ένα web server επειδή ανοίγει ένα excel application για κάθε CreateObject που κάνεις. Επίσης, το Nothing ελευθερώνει τη μνήμη αλλά δεν ελευθερώνει και το excel application. Έτσι όπως έχεις γράψει τον κώδικα, θα δημιουργεί συνέχεια νέα excel applications τα οποία θα παραμένουν στη μνήμη.

    Για την περίπτωση που περιγράφεις υπάρχει ένας πολύ ευκολότερος τρόπος. Μπορείς να ανοίξεις ένα excel sheet σα να είναι βάση μέσω ενός OLEDB data source. Το κάθε sheet θα φαίνεται σαν ένας πίνακας. Έτσι θα μπορείς να κάνεις select αλλά και updates. Το μόνο πρόβλημα είναι ότι τα κελιά του excel δεν έχουν τύπο. Ο OLEDB provider προσπαθεί να μαντέψει τί τύπου είναι η κάθε στήλη διαβάζοντας τις πρώτες Χ εγγραφές. Αν π.χ. οι πρώτες 100 εγγραφές είναι νούμερα αλλά η 101 είναι κείμενο, ο OLEDB provider μπορεί να θεωρήσει ότι η στήλη περιέχει μόνο νούμερα και να σκάσει όταν πας να δουλέψεις με την εγγραφή 101.
    Ρίξε μία ματιά και στο http://davidhayden.com/blog/dave/archive/2006/05/26/2973.aspx που περιγράφει τη διαδικασία.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems