Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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 шлях введення браузера для завершення налагодження
Опубліковано 07.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<рядок, рядок>columnInfo)
        {
            якщо (columnInfo.Count == 0) { return; }
            якщо (objList.Count == 0) { return; }
            Генерація EXCEL HTML
            string excelStr = "";
            Ввести myType = objList[0]. GetType();
            На основі відображення атрибут, який має відображатися, отримується з інформації про ім'я атрибута, переданої в
            List<System.Reflection.PropertyInfo> myPro = новий List<System.Reflection.PropertyInfo>();
            foreach (рядок cName у стовпціInfo.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 08:09:57 |
Гори та річки

Забити

Кількість учасників1МБ-1 Сприяють-1 Колапс причина
QWERTYU -1 -1 Не наливайте воду, покращення якості відповідей — обов'язок кожного учасника.

Переглянути всі рейтинги

Опубліковано 25.07.2018 09:23:54 |
Можеш подивитися, так краще
Опубліковано 25.07.2018 09:27:42 |
Досить добре
Опубліковано 22.08.2018 15:56:01 |
EntityListToExcel2003 method content
Опубліковано 05.09.2018 16:24:07 |
Вода, вода, вода

Забити

Кількість учасників1МБ-1 Сприяють-1 Колапс причина
QWERTYU -1 -1 Не наливайте воду, покращення якості відповідей — обов'язок кожного учасника.

Переглянути всі рейтинги

Опубліковано 06.09.2018 09:30:18 |
Сподобається, позначте і використайте в майбутньому!
Опубліковано 19.09.2018 15:05:17 |
Дуже корисно, дякую
Опубліковано 27.09.2018 08:56:58 |
Підтримайте власника для оновлення~
Опубліковано 27.09.2018 09:14:28 |
Дізнатися
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com