Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 210205|Svar: 67

[WebAPI] webAPI eksporterer listedata til en Excel-tabelfil

  [Kopier link]
Opslået på 16/07/2018 22.26.35 | | | |
For at eksportere Excel-tabeller med C# skal du bruge NPOI, som introduceres således:

NPOI refererer til et program bygget oven på POI version 3.x, som kan læse og skrive Word- eller Excel-dokumenter uden Office installeret.
NPOI er et open source C#-projekt til læsning og skrivning af Microsoft OLE2-komponentdokumenter som Excel og WORD.

Meget kode på internettet skal gemmes på serveren, laves om til en fysisk fil og derefter eksporteres (eller gives et downloadlink).Koden til dette indlæg behøver ikke at gemme en fysisk fil, og listedataene kan eksporteres og downloades direkte

Lad os først se på renderingerne:


Vi bruger en browser og får adgang til :http://localhost:63096/api/download/test-interfaceadressen for at downloade Excel-filen.

Når downloadet er færdigt, åbner vi test.xls, og det kan åbnes og læses normalt! Som vist nedenfor:



Forbered listedata, kode:



Webapi-koden er som følger:



EntityListToExcel2003-metoden er som følger:





Tidligere:Asp.net MVC Bundle pakker alle CSS-filer sammen
Næste:vs2017 browserens inputsti til at afslutte fejlfinding
Opslået på 07/01/2019 11.22.53 |
Meget godt, jeg bruger denne generiske
/// <summary>
        Eksporter et sæt objekter til EXCEL
        /// </summary>
        <typeparam name="T"> typen af objekt, du vil eksportere</typeparam>
        <param name="objList" > et sæt objekter</param>
        <param name="FileName"> det eksporterede filnavn</param>
        <param name="columnInfo"> spaltenavnsinformation</param>
        public void ListToExcel<T>(Liste<T> objList, streng Filnavn, Ordbog<streng, streng> kolonneInfo)
        {
            hvis (columnInfo.Count == 0) { return; }
            hvis (objList.Count == 0) { return; }
            Generer EXCEL HTML
            streng excelStr = "";
            Type myType = objList[0]. GetType();
            Baseret på refleksionen opnås den attribut, der skal vises, fra attributnavnet, der sendes ind
            List<System.Reflection.PropertyInfo> myPro = ny List<System.Reflection.PropertyInfo>();
            foreach (streng cName i columnInfo.Keys)
            {
                System.Reflection.PropertyInfo p = myType.GetProperty(cName);
                hvis (p != null)
                {
                    myPro.Add(p);
                    excelStr += columnInfo[cName] + "\t";
                }
            }
            Hvis der ikke findes nogen tilgængelige attributter, ophører den
            hvis (myPro.Count == 0) { return; }
            excelStr += "\n";
            foreach (T obj i objList)
            {
                for for (System.Reflection.PropertyInfo p i myPro)
                {
                    excelStr += p.GetValue(obj, null) + "\t";
                }
                excelStr += "\n";
            }
            Output EXCEL
            HttpResponse rs = System.Web.HttpContext.Current.Response;
            Rs. ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            Rs. AppendHeader("Indhold-Disposition", "vedhæftning; filnavn=" + Filnavn);
            Rs. ContentType = "application/ms-excel";
            Rs. Write(excelStr);
            Rs. End();
        }
 Udlejer| Opslået på 31/07/2019 13.22.31 |

Du er velkommen
Opslået på 18/06/2019 14.39.34 |
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Opslået på 20/07/2018 08.09.57 |
Bjerge og floder

Score

Antal deltagere1MB-1 bidrage-1 Sammenbrud årsag
QWERTYU -1 -1 Hæld ikke vand, at forbedre kvaliteten af svarindlæg er hvert medlems pligt.

Se alle vurderinger

Opslået på 25/07/2018 09.23.54 |
Du kan tage et kig, det er bedre
Opslået på 25/07/2018 09.27.42 |
Det er ret godt
Opslået på 22/08/2018 15.56.01 |
EntityListToExcel2003 metodeindhold
Opslået på 05/09/2018 16.24.07 |
Vand, vand, vand

Score

Antal deltagere1MB-1 bidrage-1 Sammenbrud årsag
QWERTYU -1 -1 Hæld ikke vand, at forbedre kvaliteten af svarindlæg er hvert medlems pligt.

Se alle vurderinger

Opslået på 06/09/2018 09.30.18 |
Som én, marker den, og brug den fremover!
Opslået på 19/09/2018 15.05.17 |
Meget nyttigt, tak
Opslået på 27/09/2018 08.56.58 |
Støt ejeren i at opdatere~
Opslået på 27/09/2018 09.14.28 |
Find ud
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com