Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 210205|Odpowiedź: 67

[WebAPI] WebAPI eksportuje dane listy do pliku tabelowego Excel

  [Skopiuj link]
Opublikowano 16.07.2018 22:26:35 | | | |
Aby eksportować tabele Excela za pomocą C#, trzeba użyć NPOI, które jest przedstawione w następujący sposób:

NPOI odnosi się do programu zbudowanego na bazie POI w wersji 3.x, który może czytać i zapisywać dokumenty Word lub Excel bez zainstalowanego Office.
NPOI to otwarty projekt C# do czytania i pisania dokumentów komponentów Microsoft OLE2, takich jak Excel i WORD.

Dużo kodu w Internecie trzeba przechowywać na serwerze, przekształcić w fizyczny plik, a następnie wyeksportować (lub otrzymać link do pobrania).Kod tego wpisu nie wymaga zapisu fizycznego pliku, a dane listy można eksportować i pobierać bezpośrednio

Przyjrzyjmy się najpierw wizualizacjom:


Korzystamy z przeglądarki i mamy dostęp do adresu interfejsu :http://localhost:63096/api/download/test, aby pobrać plik Excel.

Po zakończeniu pobierania otwieramy test.xls i można go normalnie otworzyć i odczytać! Jak pokazano poniżej:



Przygotuj dane z listy, kod:



Kod webapi wygląda następująco:



Metoda EntityListToExcel2003 wygląda następująco:





Poprzedni:Asp.net MVC Bundle pakuje wszystkie pliki CSS razem
Następny:Ścieżka wejściowa przeglądarki vs2017 do zakończenia debugowania
Opublikowano 07.01.2019 11:22:53 |
Bardzo dobrze, używam tego uniwersalnego
/// <summary>
        Eksportuj zestaw obiektów do EXCEL
        /// </summary>
        <typeparam name="T"> typ obiektu, który chcesz wyeksportować</typeparam>
        <nazwa parametrów="objList" > zbiór obiektów</param>
        <nazwa parametru="FileName"> nazwa pliku eksportowanego</param>
        <nazwa parametru="columnInfo"> informacje o nazwie kolumny</param>
        public void ListToExcel <T>(List<T> objList, string FileName, Dictionary<string, string>columnInfo)
        {
            if (columnInfo.Count == 0) { return; }
            if (objList.Count == 0) { return; }
            Wygeneruj HTML w EXCEL
            string excelStr = "";
            Wpisz myType = objList[0]. GetType();
            Na podstawie odbicia atrybut do wyświetlania jest uzyskiwany z informacji o nazwie atrybutu przekazanej w
            List<System.Reflection.PropertyInfo> myPro = nowa List<System.Reflection.PropertyInfo>();
            foreach (ciąg cName w columnInfo.Keys)
            {
                System.Reflection.PropertyInfo p = myType.GetProperty(cName);
                jeśli (p != null)
                {
                    myPro.Add(p);
                    excelStr += columnInfo[cName] + "\t";
                }
            }
            Jeśli nie zostaną znalezione dostępne atrybuty, kończy się
            if (myPro.Count == 0) { return; }
            excelStr += "\n";
            foreach (T obj w objList)
            {
                foreach (System.Reflection.PropertyInfo p w myPro)
                {
                    excelStr += p.GetValue(obj, null) + "\t";
                }
                excelStr += "\n";
            }
            Wyjście EXCEL
            HttpResponse rs = System.Web.HttpContext.Current.Response;
            rs. ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            rs. AppendHeader("Content-Disposition", "attachment; nazwa pliku=" + NazwaPliku);
            rs. ContentType = "application/ms-excel";
            rs. Write(excelStr);
            rs. end();
        }
 Ziemianin| Opublikowano 31.07.2019 13:22:31 |
chenxingen168 Opublikowano 13.05.2019 22:12
Dobry kod, dzięki za podzielenie się

Proszę
Opublikowano 18.06.2019 14:39:34 |
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Opublikowano 20.07.2018 08:09:57 |
Góry i rzeki

Wynik

Liczba uczestników1MB-1 przyczynić się-1 Zapaść powód
QWERTYU -1 -1 Nie lej wody, poprawa jakości postów z odpowiedziami to obowiązek każdego członka.

Zobacz wszystkie oceny

Opublikowano 25.07.2018 09:23:54 |
Możesz spojrzeć, jest lepiej
Opublikowano 25.07.2018 09:27:42 |
Jest całkiem niezły
Opublikowano 22.08.2018 15:56:01 |
Zawartość metody EntityListToExcel2003
Opublikowano 05.09.2018 16:24:07 |
Woda, woda, woda

Wynik

Liczba uczestników1MB-1 przyczynić się-1 Zapaść powód
QWERTYU -1 -1 Nie lej wody, poprawa jakości postów z odpowiedziami to obowiązek każdego członka.

Zobacz wszystkie oceny

Opublikowano 06.09.2018 09:30:18 |
Na przykład jedną, oznacz ją i użyj w przyszłości!
Opublikowano 19.09.2018 15:05:17 |
Bardzo przydatne, dzięki
Opublikowano 27.09.2018 08:56:58 |
Wesprzyj właściciela w aktualizacji~
Opublikowano 27.09.2018 09:14:28 |
Dowiedzieć się
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com