Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 210205|Отговор: 67

[WebAPI] webapi експортира данни от списъка в файл с таблици в Excel

  [Копирай линк]
Публикувано в 16.07.2018 г. 22:26:35 ч. | | | |
За да експортирате Excel таблици с C#, трябва да използвате NPOI, който се представя по следния начин:

NPOI се отнася до програма, изградена върху POI версия 3.x, която може да чете и записва Word или Excel документи без инсталиран Office.
NPOI е проект с отворен код на C# за четене и писане на Microsoft OLE2 компонентни документи като Excel и WORD.

Много от кода в интернет трябва да се съхранява на сървъра, да се превръща във физически файл и след това да се експортира (или да се даде линк за изтегляне).Кодът на този пост не е необходимо да запазва физически файл, а данните от списъка могат да бъдат експортирани и изтегляни директно

Нека първо разгледаме визуализациите:


Използваме браузър и достъпваме адреса на интерфейса :http://localhost:63096/api/download/test, за да изтеглим Excel файла.

След като изтеглянето приключи, отваряме test.xls и той може да се отвори и прочете нормално! Както е показано по-долу:



Подгответе данни от списъка, код:



Кодът на webapi е следният:



Методът EntityListToExcel2003 е следният:





Предишен:Asp.net MVC Bundle пакетира всички CSS файлове заедно
Следващ:vs2017 път за въвеждане в браузъра за прекратяване на дебъгването
Публикувано в 7.01.2019 г. 11:22:53 ч. |
Много добре, използвам този генерик
/// <summary>
        Експортирайте набор от обекти в EXCEL
        /// </summary>
        <typeparam name="T"> типът обект, който искате да експортирате</typeparam>
        <param name="objList" > набор от обекти</param>
        <param name="FileName"> експортираното име на файла</param>
        <param name="columnInfo"> информация за името на колоната</param>
        public void <T>ListToExcel(List<T> objList, string FileName, Dictionary<string, string>columnInfo)
        {
            ако (columnInfo.Count == 0) { return; }
            ако (objList.Count == 0) { return; }
            Генериране на EXCEL HTML
            string excelStr = "";
            Type myType = objList[0]. GetType();
            Въз основа на отражението, атрибутът, който ще се показва, се получава от информацията за името на атрибута, предадена в
            List<System.Reflection.PropertyInfo> myPro = нов списък<System.Reflection.PropertyInfo>();
            foreach (низ cName в columnInfo.Keys)
            {
                System.Reflection.PropertyInfo p = myType.GetProperty(cName);
                ако (p != null)
                {
                    myPro.Add(p);
                    excelStr += columnInfo[cName] + "\t";
                }
            }
            Ако не се намерят налични атрибути, тя приключва
            ако (myPro.Count == 0) { return; }
            excelStr += "\n";
            foreach (T obj in objList)
            {
                foreach (System.Reflection.PropertyInfo p в myPro)
                {
                    excelStr += p.GetValue(obj, null) + "\t";
                }
                excelStr += "\n";
            }
            Изход в EXCEL
            HttpResponse rs = System.Web.HttpContext.Current.Response;
            Рупии. ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            Рупии. AppendHeader ("Съдържание-Разположение", "прикачен материал; filename=" + FileName);
            Рупии. ContentType = "application/ms-excel";
            Рупии. Write (excelStr);
            Рупии. End();
        }
 Хазяин| Публикувано в 31.07.2019 г. 13:22:31 ч. |
chenxingen168 Публикувано на 2019-5-13 22:12
Добър код, благодаря, че сподели

Вие сте добре дошли
Публикувано в 18.06.2019 г. 14:39:34 ч. |
ААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААА
Публикувано в 20.07.2018 г. 8:09:57 ч. |
Планини и реки

Резултат

Брой участници1MB-1 допринасям-1 Срив причина
QWERTYU -1 -1 Не наливайте вода, подобряването на качеството на отговорите е задължение на всеки член.

Вижте всички оценки

Публикувано в 25.07.2018 г. 9:23:54 ч. |
Можеш да погледнеш, по-добре е
Публикувано в 25.07.2018 г. 9:27:42 ч. |
Доста е добра
Публикувано в 22.08.2018 г. 15:56:01 ч. |
EntityListToExcel2003 съдържание на метод
Публикувано в 5.09.2018 г. 16:24:07 ч. |
Вода, вода, вода

Резултат

Брой участници1MB-1 допринасям-1 Срив причина
QWERTYU -1 -1 Не наливайте вода, подобряването на качеството на отговорите е задължение на всеки член.

Вижте всички оценки

Публикувано в 6.09.2018 г. 9:30:18 ч. |
Харесвам го такъв, маркирайте го и го използвайте в бъдеще!
Публикувано в 19.09.2018 г. 15:05:17 ч. |
Много полезно, благодаря
Публикувано в 27.09.2018 г. 8:56:58 ч. |
Подкрепете собственика за актуализация~
Публикувано в 27.09.2018 г. 9:14:28 ч. |
Намирам
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com