λογισμικό

    没有任何同级栏目
Γνώση Υπολογιστών >> λογισμικό >

Πώς εξάγετε το GridData για να υπερέχετε στο ASPNET;

Υπάρχουν διάφοροι τρόποι για την εξαγωγή `gridData` (υποθέτοντας ότι εννοείτε δεδομένα που εμφανίζονται σε ένα έλεγχο πλέγματος όπως ένα GridView, Datagrid ή ένα πλέγμα τρίτου μέρους) για να υπερέχετε στο ASP.NET. Η καλύτερη προσέγγιση εξαρτάται από τον συγκεκριμένο έλεγχο του δικτύου και την προτιμώμενη μέθοδο χειρισμού της παραγωγής του Excel.

Ακολουθούν μερικές κοινές μεθόδους:

1. Χρήση epplus:

Το Epplus είναι μια δημοφιλής και ισχυρή βιβλιοθήκη ανοιχτού κώδικα για συνεργασία με αρχεία Excel στο .NET. Είναι μια καλή επιλογή για την ευελιξία και την ευκολία της χρήσης.

`` `csharp

χρησιμοποιώντας το OfficeOpenXML;

χρησιμοποιώντας το System.io;

// ... (ο κωδικός σας για να ανακτήσετε το GridData) ...

// Παράδειγμα υποθέτοντας ότι έχετε ένα datatable που ονομάζεται 'dtgriddata'

Χρήση (πακέτο excelPackage =νέο excelPackage ())

{

Φύλλο εργασίας ExcelWorkSheet =Package.Workbook.WorkSheets.add ("GridData");

φύλλο εργασίας.cells ["A1"]. // True για την κεφαλίδα

// Προαιρετικό:Στυλ, μορφοποίηση, κ.λπ.

//worksheet.cells.style.font.bold =true; // Παράδειγμα έντονου

// Αποθηκεύστε το αρχείο excel στο διακομιστή (Ρυθμίστε τη διαδρομή όπως απαιτείται)

String filePath =path.combine (server.mappath ("~/excelexports"), "gridData_" + dateTime.now.toString ("yyyymmddhhmmss") + ".xlsx");

FileInfo excelfile =νέο FileInfo (filePath);

package.saveas (excelfile);

// Στείλτε το αρχείο στον πελάτη για λήψη (σημαντικό!)

Response.Clear ();

Response.addheader ("Περιεχόμενο-διάθεση", "Συνημμένο, fileName =" + excelfile.name);

Response.ContentType ="Application/VND.OpenxMLFORMATS-OFFIDECUMENT.SPREADSHEETML.SHEET";

Response.WriteFile (filePath);

Response.end ();

}

`` `

Θυμηθείτε να προσθέσετε το πακέτο Epplus Nuget στο έργο σας.

2. Χρήση κλειστήςXML:

Το ClosedXML είναι μια άλλη εξαιρετική βιβλιοθήκη για την εργασία με αρχεία Excel. Προσφέρει παρόμοιο επίπεδο λειτουργικότητας με το Epplus. Η δομή του κώδικα είναι αρκετά παρόμοια.

`` `csharp

Χρησιμοποιώντας το ClosedXML.excel;

χρησιμοποιώντας το System.io;

// ... (ο κωδικός σας για να ανακτήσετε το GridData) ...

// Παράδειγμα υποθέτοντας ότι έχετε ένα datatable που ονομάζεται 'dtgriddata'

Χρήση (var workbook =new xlworkbook ())

{

var φύλλο εργασίας =workbook.worksheets.add ("gridData");

φύλλο εργασίας.cell (1, 1) .InsertTable (dtgriddata);

// προαιρετικό:στυλ και μορφοποίηση

//worksheet.rangeused().style.font.bold =true;

// Αποθηκεύστε το αρχείο excel

String filePath =path.combine (server.mappath ("~/excelexports"), "gridData_" + dateTime.now.toString ("yyyymmddhhmmss") + ".xlsx");

Βιβλίο εργασίας.saveas (FilePath);

// Αποστολή αρχείου στον πελάτη (ίδιο με το παράδειγμα Epplus)

Response.Clear ();

Response.addheader ("Περιεχόμενο-διάθεση", "Συνημμένο, fileName =" + path.getFileName (filePath));

Response.ContentType ="Application/VND.OpenxMLFORMATS-OFFIDECUMENT.SPREADSHEETML.SHEET";

Response.WriteFile (filePath);

Response.end ();

}

`` `

Θυμηθείτε να προσθέσετε το πακέτο NuGet ClosedXML στο έργο σας.

3. Χρησιμοποιώντας μια ενσωματωμένη λειτουργικότητα εξαγωγής του GridView (εάν υπάρχει):

Ορισμένα χειριστήρια πλέγματος (όπως το GridView σε παλαιότερες μορφές ιστού ASP.NET) έχουν ενσωματωμένη λειτουργικότητα των εξαγωγών για να υπερέχουν. Αυτή είναι η απλούστερη προσέγγιση εάν το πλέγμα σας υποστηρίζει, αλλά είναι συχνά λιγότερο ευέλικτη από τη χρήση μιας ειδικής βιβλιοθήκης. Ελέγξτε την τεκμηρίωση του ελέγχου του δικτύου για τον τρόπο ενεργοποίησης και διαμόρφωσης του Excel Export. Συνήθως περιλαμβάνει τον καθορισμό μιας ιδιότητας (π.χ., `leartPaging =false ',` enableViewState =false', στη συνέχεια, καλώντας μια μέθοδο που ενεργοποιεί την εξαγωγή).

Σημαντικές εκτιμήσεις:

* Χειρισμός σφαλμάτων: Προσθέστε μπλοκ `try-catch` για να χειριστείτε πιθανές εξαιρέσεις κατά τη δημιουργία αρχείων, την αποθήκευση και τη λήψη.

* Διαδρομή αρχείου: Βεβαιωθείτε ότι έχετε τη σωστή διαδρομή αρχείου και δικαιώματα για τη δημιουργία και την πρόσβαση σε αρχεία Excel στο διακομιστή σας. Το μέρος `server.mappath (" ~/excelexports ")` Δημιουργεί ένα φάκελο που ονομάζεται "ExcelExports" στον ριζικό κατάλογο της εφαρμογής σας. Βεβαιωθείτε ότι αυτό υπάρχει.

* Ασφάλεια: Αυγχώρησε τυχόν δεδομένα που παρέχονται από το χρήστη πριν από την ενσωμάτωση του στο αρχείο Excel για να αποφευχθούν τα τρωτά σημεία ασφαλείας (π.χ. επιθέσεις XSS).

* μεγάλα σύνολα δεδομένων: Για πολύ μεγάλα σύνολα δεδομένων, σκεφτείτε να χρησιμοποιήσετε μια προσέγγιση ροής για να αποφύγετε προβλήματα μνήμης. Οι επιλογές προσφοράς Epplus και ClessXML για αυτό.

* ASP.NET CORE: Τα παραπάνω παραδείγματα κώδικα ισχύουν γενικά για τις φόρμες Web ASP.NET και το ASP.NET MVC. Στο ASP.NET Core, θα χρησιμοποιήσετε το `PhysicalFilerEsult 'για να επιστρέψετε το αρχείο στον πελάτη.

Θυμηθείτε να αντικαταστήσετε τους κράτους όπως το `dtgriddata` με την πραγματική πηγή δεδομένων σας (θα μπορούσε να είναι ένα datatable, μια λίστα αντικειμένων κ.λπ.). Επιλέξτε τη μέθοδο που ταιριάζει καλύτερα στις ανάγκες και τις εξαρτήσεις του έργου σας. Το Epplus και το ClosedXML προτιμώνται γενικά για την ευελιξία και τα ισχυρά χαρακτηριστικά τους.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα