Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 210205|Resposta: 67

[WebAPI] o webapi exporta dados de lista para um arquivo de tabela Excel

  [Copiar link]
Publicado em 16/07/2018 22:26:35 | | | |
Para exportar tabelas Excel usando C#, você precisa usar NPOI, que é introduzido da seguinte forma:

NPOI refere-se a um programa construído sobre a versão 3.x do POI, que pode ler e escrever documentos no Word ou Excel sem o Office instalado.
NPOI é um projeto open source em C# para leitura e escrita de documentos componentes Microsoft OLE2, como Excel e WORD.

Muito código na Internet precisa ser armazenado no servidor, transformado em um arquivo físico e depois exportado (ou recebendo um link para download).O código deste post não precisa salvar um arquivo físico, e os dados da lista podem ser exportados e baixados diretamente

Vamos dar uma olhada nas renderizações primeiro:


Usamos um navegador e acessamos o endereço da interface :http://localhost:63096/api/download/test para baixar o arquivo Excel.

Quando o download termina, abrimos o test.xls e ele pode ser aberto e lido normalmente! Como mostrado abaixo:



Preparar dados da lista, código:



O código webapi é o seguinte:



O método EntityListToExcel2003 é o seguinte:





Anterior:Asp.net MVC Bundle empacota todos os arquivos CSS juntos
Próximo:vs2017 caminho de entrada do navegador para encerrar a depuração
Publicado em 07/01/2019 11:22:53 |
Muito bom, eu uso esse genérico
/// <summary>
        Exportar um conjunto de objetos para o EXCEL
        /// </summary>
        <typeparam name="T"> o tipo de objeto que você deseja exportar</typeparam>
        <param name="objList" > um conjunto de objetos</param>
        <param name="FileName"> o nome do arquivo exportado</param>
        <param name="columnInfo"> informação do nome da coluna</param>
        empty público <T>ListToExcel(List<T> objList, string FileName, Dictionary<string, string> columnInfo)
        {
            if (columnInfo.Count == 0) { return; }
            if (objList.Count == 0) { return; }
            Gerar HTML EXCEL
            string excelStr = "";
            Digite myType = objList[0]. GetType();
            Com base na reflexão, o atributo a ser exibido é obtido a partir das informações do nome do atributo passadas em
            List<System.Reflection.PropertyInfo> myPro = nova Lista<System.Reflection.PropertyInfo>();
            foreach (string cName em columnInfo.Keys)
            {
                System.Reflection.PropertyInfo p = myType.GetProperty(cName);
                se (p != nulo)
                {
                    myPro.Add(p);
                    excelStr += columnInfo[cName] + "\t";
                }
            }
            Se nenhum atributo disponível for encontrado, ele termina
            if (myPro.Count == 0) { return; }
            excelStr += "\n";
            foreach (T obj em objList)
            {
                foreach (System.Reflection.PropertyInfo p no myPro)
                {
                    excelStr += p.GetValue(obj, null) + "\t";
                }
                excelStr += "\n";
            }
            Saída EXCEL
            HttpResposta rs = System.Web.HttpContexto.Corrente.Resposta;
            rs. ContentEncoding = System.Text.Encoding.GetEncoding ("GB2312");
            rs. AppendHeader("Disposição de Conteúdo", "anexo; nome do arquivo=" + NomeDeArquivo);
            rs. ContentType = "application/ms-excel";
            rs. Escreva (excelStr);
            rs. Fim();
        }
 Senhorio| Publicado em 31/07/2019 13:22:31 |
chenxingen168 Postado em 2019-5-13 22:12
Bom código, obrigado por compartilhar

De nada
Publicado em 18/06/2019 14:39:34 |
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Publicado em 20/07/2018 08:09:57 |
Montanhas e rios

Pontuação

Número de participantes1MB-1 contribuir-1 Colapso razão
QWERTYU -1 -1 Não jogue água, melhorar a qualidade das respostas é responsabilidade de todo membro.

Veja todas as classificações

Publicado em 25/07/2018 09:23:54 |
Pode dar uma olhada, é melhor
Publicado em 25/07/2018 09:27:42 |
É bem bom
Publicado em 22/08/2018 15:56:01 |
Conteúdo do método EntityListToExcel2003
Publicado em 05/09/2018 16:24:07 |
Água água água

Pontuação

Número de participantes1MB-1 contribuir-1 Colapso razão
QWERTYU -1 -1 Não jogue água, melhorar a qualidade das respostas é responsabilidade de todo membro.

Veja todas as classificações

Publicado em 06/09/2018 09:30:18 |
Como um, marque e use no futuro!
Publicado em 19/09/2018 15:05:17 |
Muito útil, obrigado
Publicado em 27/09/2018 08:56:58 |
Apoie o dono para atualizar~
Publicado em 27/09/2018 09:14:28 |
Descobrir
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com