Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 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<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 = новый 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 8:09:57 |
Горы и реки

Счёт

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

Смотреть все рейтинги

Опубликовано 25.07.2018 9:23:54 |
Можешь посмотреть, так лучше
Опубликовано 25.07.2018 9: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 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