Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 210205|Odpověď: 67

[WebAPI] WebAPI exportuje data ze seznamu do tabulky Excel

  [Kopírovat odkaz]
Zveřejněno 16.07.2018 22:26:35 | | | |
Pro export excelových tabulek pomocí C# je potřeba použít NPOI, které je uvedeno následovně:

NPOI označuje program postavený na POI verzi 3.x, který dokáže číst a zapisovat Word nebo Excel dokumenty bez instalace Office.
NPOI je open-source C# projekt pro čtení a psaní komponentních dokumentů Microsoft OLE2, jako jsou Excel a WORD.

Mnoho kódu na internetu je potřeba uložit na server, převést do fyzického souboru a pak exportovat (nebo dostat odkaz ke stažení).Kód tohoto příspěvku nemusí ukládat fyzický soubor a data ze seznamu lze exportovat a stáhnout přímo

Podívejme se nejdříve na vizualizace:


Používáme prohlížeč a přistupujeme k adresě rozhraní :http://localhost:63096/api/download/test, abychom si stáhli excelový soubor.

Jakmile je stažení hotové, otevřeme test.xls a lze ho normálně otevřít a číst! Jak je uvedeno níže:



Připravte data ze seznamu, kód:



Webapi kód je následující:



Metoda EntityListToExcel2003 je následující:





Předchozí:Asp.net MVC Bundle balí všechny CSS soubory dohromady
Další:vstupní cesta do prohlížeče vs2017 pro ukončení ladění
Zveřejněno 07.01.2019 11:22:53 |
Velmi dobře, používám tento generický
/// <summary>
        Exportovat sadu objektů do EXCELu
        /// </summary>
        <typeparam jméno="T"> typ objektu, který chcete exportovat</typeparam>
        <param name="objList" > množina objektů</param>
        <název parametru="FileName"> exportované jméno souboru</param>
        <název parametru="columnInfo"> informace o názvu sloupců</param>
        public void ListToExcel<T>(List<T> objList, string FileName, Dictionary<string, string>columnInfo)
        {
            if (columnInfo.Count == 0) { return; }
            if (objList.Count == 0) { return; }
            Generování EXCEL HTML
            string excelStr = "";
            Zadejte myType = objList[0]. GetType();
            Na základě odrazu je atribut, který má být zobrazen, získán z informací o názvu atributu zadaném v
            List<System.Reflection.PropertyInfo> myPro = nový List<System.Reflection.PropertyInfo>();
            foreach (řetězec cName v columnInfo.Keys)
            {
                System.Reflection.PropertyInfo p = myType.GetProperty(cName);
                pokud (p != null)
                {
                    myPro.Add(p);
                    excelStr += columnInfo[cName] + "\t";
                }
            }
            Pokud nejsou nalezeny žádné dostupné atributy, končí
            if (myPro.Count == 0) { return; }
            excelStr += "\n";
            foreach (T obj v objList)
            {
                foreach (System.Reflection.PropertyInfo p v myPro)
                {
                    excelStr += p.GetValue(obj, null) + "\t";
                }
                excelStr += "\n";
            }
            Výstup EXCEL
            HttpResponse rs = System.Web.HttpContext.Current.Response;
            rs. ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            rs. AppendHeader("Content-Disposition", "attachment; název souboru=" + název souboru);
            rs. ContentType = "aplikace/ms-excel";
            rs. Write(excelStr);
            rs. end();
        }
 Pronajímatel| Zveřejněno 31.07.2019 13:22:31 |
chenxingen168 Zveřejněno 13. 5. 2019 22:12
Dobrý kód, díky za sdílení

Není zač
Zveřejněno 18.06.2019 14:39:34 |
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Zveřejněno 20.07.2018 8:09:57 |
Hory a řeky

Partitura

Počet účastníků1MB-1 přispět-1 Zhroucení důvod
QWERTYU -1 -1 Nelévejte vodu, zlepšování kvality odpovědí je povinností každého člena.

Zobrazit všechna hodnocení

Zveřejněno 25.07.2018 9:23:54 |
Můžeš se podívat, je to lepší
Zveřejněno 25.07.2018 9:27:42 |
Je to docela dobré
Zveřejněno 22.08.2018 15:56:01 |
Obsah metody EntityListToExcel2003
Zveřejněno 05.09.2018 16:24:07 |
Voda, voda, voda

Partitura

Počet účastníků1MB-1 přispět-1 Zhroucení důvod
QWERTYU -1 -1 Nelévejte vodu, zlepšování kvality odpovědí je povinností každého člena.

Zobrazit všechna hodnocení

Zveřejněno 06.09.2018 9:30:18 |
Jako jeden, označte to a použijte v budoucnu!
Zveřejněno 19.09.2018 15:05:17 |
Velmi užitečné, díky
Zveřejněno 27.09.2018 8:56:58 |
Podpořte majitele s aktualizacemi~
Zveřejněno 27.09.2018 9:14:28 |
Zjistit
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com