Ecco alcuni metodi comuni:
1. Usando Epplus:
Epplus è una libreria open source popolare e potente per lavorare con i file Excel in .NET. È una buona scelta per la sua flessibilità e facilità d'uso.
`` `csharp
Utilizzo di OfficeOPenXML;
Utilizzo di System.io;
// ... (il tuo codice per recuperare GridData) ...
// Esempio Supponendo che tu abbia un dati datattabile chiamato "dtgriddata"
Utilizzo (pacchetto ExcelPackage =new ExcelPackage ())
{
Foglio di lavoro del foglio di lavoro ExcelWorks =pacchetto.workbook.worksheets.add ("GridData");
Worksheet.Cells ["A1"]. LoadFromDatatable (dtGridData, true); // vero per l'intestazione
// opzionale:stile, formattazione, ecc.
//worksheet.cells.style.font.bold =true; // Esempio audace
// Salva il file Excel sul server (regola il percorso secondo necessità)
String FilePath =Path.combine (server.mappath ("~/ExcelExports"), "GridData_" + DateTime.now.ToString ("YyyyMmDDHMMSSS") + ".xlsx");
FileInfo Excelfiling =new FileInfo (FilePath);
pacchetto.saveas (excelfil);
// Invia il file al client per il download (importante!)
Risposta.Clear ();
Response.addHeader ("Disposizione del contenuto", "allegato; fileName =" + excelfiling.name);
Response.ContentType ="Application/vnd.openxmlFormats-officedocument.spreadsheetml.sheet";
Response.WriteFile (FilePath);
Risposta.end ();
}
`` `
Ricorda di aggiungere il pacchetto di Epplus Nuget al tuo progetto.
2. Utilizzando chiusexml:
CHIUSEXML è un'altra eccellente libreria per lavorare con i file Excel. Offre un livello simile di funzionalità a Epplus. La struttura del codice è abbastanza simile.
`` `csharp
usando chiusexml.excel;
Utilizzo di System.io;
// ... (il tuo codice per recuperare GridData) ...
// Esempio Supponendo che tu abbia un dati datattabile chiamato "dtgriddata"
Utilizzo (var workBook =new XLWorkBook ())
{
VAR Worksheet =WorkBoetsBook.Worksheets.Add ("GridData");
Worksheet.Cell (1, 1) .InserTable (dtGridData);
// facoltativo:styling e formattazione
//worksheet.Rangeused().style.font.Bold =true;
// Salva il file Excel
String FilePath =Path.combine (server.mappath ("~/ExcelExports"), "GridData_" + DateTime.now.ToString ("YyyyMmDDHMMSSS") + ".xlsx");
WorkBook.Saveas (FilePath);
// Invia file al client (uguale all'esempio di Epplus)
Risposta.Clear ();
Response.addHeader ("Disposizione del contenuto", "allegato; fileName =" + path.getFileName (FilePath));
Response.ContentType ="Application/vnd.openxmlFormats-officedocument.spreadsheetml.sheet";
Response.WriteFile (FilePath);
Risposta.end ();
}
`` `
Ricorda di aggiungere il pacchetto NuGet chiuso al progetto.
3. Utilizzando la funzionalità di esportazione integrata di GridView (se disponibile):
Alcuni controlli della griglia (come la gridview nei vecchi moduli Web ASP.NET) hanno funzionalità di esportazione integrate per Excel. Questo è l'approccio più semplice se la tua griglia lo supporta, ma è spesso meno flessibile rispetto all'utilizzo di una libreria dedicata. Controlla la documentazione del controllo della griglia su come abilitare e configurare l'esportazione di Excel. In genere prevede l'impostazione di una proprietà (ad esempio, `abilitPaging =false`,` abilitaViewState =false`, quindi chiamando un metodo che innesca l'esportazione).
Considerazioni importanti:
* Gestione degli errori: Aggiungi blocchi `Try-Catch 'per gestire potenziali eccezioni durante la creazione, il salvataggio e il download dei file.
* Percorso del file: Assicurati di disporre del percorso del file e delle autorizzazioni corrette per la creazione e l'accesso ai file Excel sul server. La parte `server.mappath (" ~/ExcelExports ") crea una cartella denominata" ExcelExports "nella directory principale dell'applicazione; Assicurati che esista.
* Sicurezza: Sanitare i dati forniti dall'utente prima di includerli nel file Excel per prevenire le vulnerabilità di sicurezza (ad esempio, attacchi XSS).
* Set di dati di grandi dimensioni: Per set di dati molto grandi, prendi in considerazione l'utilizzo di un approccio di streaming per evitare problemi di memoria. Epplus e chiusexml offrono opzioni per questo.
* ASP.NET Core: Gli esempi di codice sopra sono generalmente applicabili ai moduli Web ASP.NET e ASP.NET MVC. In ASP.NET CORE, utilizzerai `PhysicalFileResult` per restituire il file al client.
Ricorda di sostituire segnaposto come `dtGridData` con la tua origine dati effettiva (potrebbe essere un datatatoribile, un elenco di oggetti, ecc.). Scegli il metodo che si adatta meglio alle esigenze e alle dipendenze del tuo progetto. Epplus e chiuseXML sono generalmente preferiti per la loro flessibilità e funzionalità robuste.
software © www.354353.com