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

 

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

Export Datagrid to Excel

Îåêßíçóå áðü ôï ìÝëïò SpySoftX. Τελευταία δημοσίευση από το μέλος Greg στις 05-05-2005, 02:12. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  02-03-2005, 20:23 1336

    Export Datagrid to Excel

    Καλησπέρα,


    Μπορεί κάποιος να μου πει πως στο καλό μπορώ να κάνω export ένα datagrid σε excel? έχω φάει τον κόσμο κανένας δεν ξέρει.


    Προσοχή: ΔΕΝ ΤΟ ΘΕΛΩ ΝΑ ΤΟ ΚΑΝΩ ΑΠΟ ASP.net 

    Απο ότι έχω καταλάβει χρειάζομαι τα interop services του office (τα έχω) αλλα μετά πώς και τι?

    ευχαριστώ

  •  02-03-2005, 20:51 1337 σε απάντηση της 1336

    Re: Export Datagrid to Excel

    Smile Όταν κάνεις export σε Excel Format δεν είναι ανάγκη να το κάνεις σε native Excel file format. Μπορείς να το κάνεις σε ένα format που υποστηρίζει το Excel και μετά όταν το ανοίξεις από το Excel να το σώσεις σε native format αν είναι απαραίτητο.

    Αυτό είναι το κόλπο που χρησιμοποιούν οι ASP.NET σελίδες. Μπορείς να εφαρμόσεις το ίδιο κόλπο και μέσα από WinForms. Αυτό το format είναι το .CSV (Κείμενο οριοθετημένο με κόμματα - Comma Delimeted File). Πρόκειται για ένα αρχείο κειμένου που χρησιμοποιεί το ελληνικό ερωτηματικό (";" list separetor για την ελληνική κωδικοσελίδα) για να χωρίσει τις τιμές των στηλών και το CR/LF χαρακτήρα για να χωρίσει τις γραμμές μεταξύ τους. Μπορείς να διαβάσεις μία μία τις γραμμές του datagrid και να φτιάξεις ένα string και στο τέλος να το σώσεις σε ένα αρχείο κειμένου με την κατάληξη .csv

    Το κόλπο να εξάγεις ένα αρχείο κειμένου, είναι πολύ πιο απλό από το να το κάνεις copy τα δεδομένα μέσα από Interop Services.

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  02-03-2005, 21:58 1338 σε απάντηση της 1336

    Re: Export Datagrid to Excel

    Το MSDN περιέχει αρκετά άρθρα πάνω στο θέμα. Δες το HOW TO: Transfer Data to an Excel Workbook by using Visual Basic.NET και το HOW TO: Transfer Data to an Excel Workbook by using Visual C#. Τα άρθρα αυτά περιγράφουν δύο βασικούς τρόπους να μεταφέρεις τα δεδομένα: είτε κελί-κελί χρησιμοποιώντας Automation είτε ανοίγοντας ένα αρχείο excel μέσω του OLE Provider.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  02-03-2005, 22:30 1339 σε απάντηση της 1338

    Re: Export Datagrid to Excel

    Προσωπικά το κόλπο με το clipboard και τα tabs είναι το αγαπημένο μου.

    Δουλεύει και με άλλα προγράμματα και όχι μόνο με το Excel για να μεταφέρονται δεδομένα.

    Και είναι πολύ εύκολο σχετικά για να γίνει πραγματοποιηθεί προγραμματιστικά.

    George J.



    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  04-05-2005, 16:10 1820 σε απάντηση της 1336

    Re: Export Datagrid to Excel

    Αφου μπορείς να εκλάβεις το Excel sheet σαν ενα  database table κανε το με sql command

    ΠΧ:

        Private Function ExportToXL(ByVal TblIn As DataTable) As Boolean

            Dim i As Integer
            Dim sqlQry As String

            Dim BatchConn As New OleDb.OleDbConnection _
                                                       ("Provider=Microsoft.Jet.OLEDB.4.0; " & _
                                                       "Data Source=" & xlsPath & "; " & _
                                                       "Extended Properties=""Excel 8.0;HDR=YES;""")

            Dim com As New OleDb.OleDbCommand
            com.Connection = BatchConn
            com.Connection.Open()

            Try
            
                  For i = 0 To TblIn.Rows.Count - 1

                    sqlQry = " INSERT INTO [" & MySheet & "$] VALUES " & _
                             "       ('" & TblIn.Rows(i).Item(3) & "'," & _
                             "        '" & TblIn.Rows(i).Item(4) & "'," & _
                             "        '" & TblIn.Rows(i).Item(6) & "'," & _
                             "        '" & TblIn.Rows(i).Item(7) & "'," & _
                             "        '" & TblIn.Rows(i).Item(8) & "')"

                    com.CommandText = sqlQry
                    com.ExecuteNonQuery()
                Next i

                com.Connection.Close()
                com.Dispose()
                Return True

            Catch MyEx As Exception
               ''error handling code here
                Return False
            End Try

        End Function

    To μόνο που έχεις να  κάνεις είναι το να κάνεις copy το grid στο datatable που δέχεται ώς παράμετρο αυτό το function και να κάνεις modify το sql statement  ανάλογα.

    το xlsPath  είναι το path του excel sheet kai to MySheet είναι το όνομα του sheet που θέλεις να γεμίσεις.

    Έλπίζω να  σε βοήθησα.

  •  05-05-2005, 02:12 1831 σε απάντηση της 1336

    Re: Export Datagrid to Excel

    Για δοκίμασε αυτο το link:

    http://www.codeproject.com/aspnet/ExportClassLibrary.asp

    Ειναι μια library (DLL) σε C# την οποια μπορεις να χρησιμοποιησεις σε οποιοδηποτε περιβαλλον δουλευεις (ASP.NET, Winforms, με VB.NET ή C#) δεν την εχω δοκιμασει αλλα φαινεται απο την περιγραφη της να κανει αυτο που ζητας.

    Ενδεχομένως να χρειαστεί να κανεις register στο site για να δεις το αρθρο (ειναι τσαμπα Cool dont worry)
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems