Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Tu je niekoľko bežných metód:
1. Pomocou epplus:
Epplus je populárna a výkonná knižnica s otvoreným zdrojovým kódom na prácu s programami Excel v .NET. Je to dobrá voľba pre svoju flexibilitu a ľahké použitie.
`` csharp
pomocou OfficeOpenxml;
pomocou System.io;
// ... (váš kód na načítanie GridData) ...
// Príklad za predpokladu, že máte datatable s názvom „dtgridData“
Použitie (ExcelCackage Package =new ExpeckAckage ())
{
Excelworksheet Worksheet =balík.workbook.worksheets.add ("gridData");
worksheet.cells ["a1"]. lOadFromDatatable (dtgridData, true); // Pravda pre hlavičku
// Voliteľné:štýl, formátovanie atď.
//worksheet.cells.style.font.bold =true; // Príklad odvážnosti
// Uložte súbor Excel na server (podľa potreby upravte cestu)
String FilePath =path.combine (server.mappath ("~/excelexports"), "gridData_" + datetime.now.ToString ("rrryyymmddhhmmss") + ".xlsx");
FileInfo exelfIle =new FileInfo (Filepath);
balík.Saveas (exelfil);
// Pošlite súbor klientovi na stiahnutie (dôležité!)
Response.Clear ();
Response.Addheader ("Content-Disposition", "Apartment; filename =" + exelfile.name);
Response.contentType ="application/vnd.openxmlformats offedocumentCument.spreadSheetml.Sheet";
Response.WriteFile (Filepath);
Response.end ();
}
`` `
Nezabudnite do svojho projektu pridať balík Epplus Nuget.
2. Pomocou uzavretého xml:
Stvorenáxml je ďalšou vynikajúcou knižnicou pre prácu so súbormi Excel. Ponúka podobnú úroveň funkčnosti ako Epplus. Štruktúra kódu je dosť podobná.
`` csharp
s použitím uzavretýchxml.excel;
pomocou System.io;
// ... (váš kód na načítanie GridData) ...
// Príklad za predpokladu, že máte datatable s názvom „dtgridData“
Použitie (varný zošit =nový XLWorkbook ())
{
var pracovný list =workbook.worksheets.add ("gridData");
worksheet.cell (1, 1) .InsertTable (dtgridData);
// Voliteľné:štýl a formátovanie
//worksheet.Rangeused().style.font.bold =true;
// uložte súbor Excel
String FilePath =path.combine (server.mappath ("~/excelexports"), "gridData_" + datetime.now.ToString ("rrryyymmddhhmmss") + ".xlsx");
Workbook.Saveas (Filepath);
// Odoslať súbor klientovi (rovnaký ako príklad Epplus)
Response.Clear ();
Response.Addheader ("Content-Disposition", "Apartment; fileName =" + Path.getFileName (Filepath));
Response.contentType ="application/vnd.openxmlformats offedocumentCument.spreadSheetml.Sheet";
Response.WriteFile (Filepath);
Response.end ();
}
`` `
Nezabudnite do svojho projektu pridať balík CONTERXML NUGET.
3. Použitie vstavanej exportnej funkcie spoločnosti GridView (ak je k dispozícii):
Niektoré ovládacie prvky mriežky (napríklad GridView v starších webových formulároch ASP.NET) majú zabudovanú exportnú funkciu do Excelu. Toto je najjednoduchší prístup, ak ju vaša mriežka podporuje, ale často je menej flexibilná ako používanie špecializovanej knižnice. Skontrolujte dokumentáciu svojho programu Grid Control, ako povoliť a nakonfigurovať export programu Excel. Zvyčajne to zahŕňa nastavenie vlastnosti (napr. `AlflowPaging =false`,` enableviewState =false` a potom volanie metódy, ktorá spúšťa export).
Dôležité úvahy:
* Manipulácia s chybami: Pridajte „Try-Catch` bloky, aby ste zvládli potenciálne výnimky počas vytvárania, ukladania a sťahovania súborov.
* Cesta súboru: Uistite sa, že máte správnu cestu k súboru a povolenia na vytváranie a prístup k súborom Excel na serveri. „Server.mappath (" ~/excelexports ")` Časť vytvára priečinok s názvom „ExceLExports“ v koreňovom adresári vašej aplikácie; Uistite sa, že to existuje.
* Zabezpečenie: Pred tým, ako ich zahrnie do súboru Excel, dezinfikujte všetky údaje poskytnuté používateľom, aby ste zabránili zraniteľnostiam zabezpečenia (napr. Útoky XSS).
* veľké súbory údajov: Ak chcete získať veľmi veľké súbory údajov, zvážte použitie prístupu streamovania, aby ste predišli problémom s pamäťou. Epplus a uzavretéxml ponúkajú možnosti.
* asp.net jadro: Príklady kódu vyššie sa vo všeobecnosti vzťahujú na webové formuláre ASP.NET a ASP.NET MVC. V Core ASP.NET použijete na vrátenie súboru klientovi „Fyzikál fileresult“.
Nezabudnite nahradiť zástupné symboly, ako je `dtgridData` za váš skutočný zdroj údajov (môže to byť dátum, zoznam objektov atď.). Vyberte metódu, ktorá najlepšie vyhovuje potrebám a závislosti vášho projektu. Epplus a uzavretéxml sa vo všeobecnosti uprednostňujú pre ich flexibilitu a robustné vlastnosti.