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

 

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

Αντιγραφή ενός Excel Worksheet από ένα WorkBook Σε ένα άλλο μέσω Primary Interop Assemplies

Îåêßíçóå áðü ôï ìÝëïò pontifikas. Τελευταία δημοσίευση από το μέλος pontifikas στις 13-12-2006, 08:44. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  12-12-2006, 12:57 22055

    Αντιγραφή ενός Excel Worksheet από ένα WorkBook Σε ένα άλλο μέσω Primary Interop Assemplies

    Προσπαθώ να κάνω αυτό που λέει ο τίτλος. Δυστυχώς δεν μπορώ να βρώ έναν τρόπο.
    Θέλω να αντιγράψω (ή αντικαταστήσω) το 1ο Sheet από ένα Excel στο 1o Sheet στο άλλο.

    Βρίσκομαι εδώ:
                    Microsoft.Office.Interop.Excel.Application MyExcel = null;
                    Microsoft.Office.Interop.Excel.Workbook wkbFrom = null;
                    Microsoft.Office.Interop.Excel.Worksheet wksFrom = null;
                    Microsoft.Office.Interop.Excel.Workbook wkbTo = null;
                    Microsoft.Office.Interop.Excel.Worksheet wksTo = null;
                    try
                    {
                        MyExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();
                        wkbFrom = MyExcel.Workbooks.Open(
                            fileFrom,
                            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);
                        wkbTo = MyExcel.Workbooks.Open(
                            fileTo,
                            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);

                        //wksFrom = (Microsoft.Office.Interop.Excel.Worksheet)wkbFrom.Worksheets[1];
                        ((Microsoft.Office.Interop.Excel.Worksheet)wkbTo.Worksheets[1]).Delete();
                
                         <b>wkbTo.MergeWorkbook(wkbFrom.Name);</b>
                       
                        wkbTo.Save();


    Η μόνη σκέψη που κάνω είναι το MergeWorkBook αλλά τρώω Exception ότι και να βάλω μέσα, με ένα από τα κλασσικά μηνύματα λάθους που δεν λένε τίποτα.

    Καμοιά ιδέα? Ευχαριστώ.
  •  12-12-2006, 14:44 22058 σε απάντηση της 22055

    Απ: Αντιγραφή ενός Excel Worksheet από ένα WorkBook Σε ένα άλλο μέσω Primary Interop Assemplies

    Το MergeWorkBook δεν κάνει αυτή τη δουλειά, από ότι βλέπω: http://msdn2.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.mergeworkbook(VS.80).aspx

    Εκεί που κάνεις paste, τί είναι αυτό που θέλεις να επικολληθεί. Δεν έχεις κάνει κάπου copy.

    p.s. κάποιος moderator ας μεταφέρει το post στο office development forum.
    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  13-12-2006, 08:44 22093 σε απάντηση της 22058

    Απ: Αντιγραφή ενός Excel Worksheet από ένα WorkBook Σε ένα άλλο μέσω Primary Interop Assemplies

    Ακυρο το paste. Delete ήθελα να βάλω. Το διόρθωσα.

    Εσύ τι καταλαβαίνεις από το documentation που μου παράθεσες γιατί εγώ καταλαβανίω ότι " Οι αλλαγές στο book1 που περνάμε σαν όρισμα και πρέπει να είναι ανοικτό αποθηκεύονται στο book2".Confused. Είναι ότι πιο κοντινό μπορώ να βρώ (σαν ιδέα) σε αυτό που θέλω να κάνω.
    Εγώ σβήνω το 1ο Sheet από το Destination  Και κάνω merge φιλοδοξόντας να μπεί το πρώτο από το Source και να γίνει το πρώτο του destination.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems