Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 210205|Respuesta: 67

[WebAPI] WebAPI exporta datos de lista a un archivo de tabla de Excel

  [Copiar enlace]
Publicado en 16/7/2018 22:26:35 | | | |
Para exportar tablas de Excel usando C#, necesitas usar NPOI, que se introduce de la siguiente manera:

NPOI se refiere a un programa construido sobre la versión 3.x de POI, que puede leer y escribir documentos en Word o Excel sin Office instalado.
NPOI es un proyecto de código abierto en C# para leer y escribir documentos componentes de Microsoft OLE2, como Excel y WORD.

Mucho código en Internet necesita almacenarse en el servidor, convertirse en un archivo físico y luego exportarse (o recibir un enlace de descarga).El código de esta publicación no necesita guardar un archivo físico, y los datos de la lista pueden exportarse y descargarse directamente

Vamos a echar un vistazo primero a los renders:


Usamos un navegador y accedemos a la dirección de interfaz :http://localhost:63096/api/download/test para descargar el archivo de Excel.

Una vez completada la descarga, abrimos el test.xls y se puede abrir y leer normalmente. Como se muestra a continuación:



Preparar datos de lista, código:



El código webapi es el siguiente:



El método EntityListToExcel2003 es el siguiente:





Anterior:Asp.net MVC Bundle agrupa todos los archivos CSS
Próximo:Ruta de entrada del navegador vs2017 para terminar la depuración
Publicado en 7/1/2019 11:22:53 |
Muy bien, yo uso este genérico
/// <summary>
        Exportar un conjunto de objetos a EXCEL
        /// </summary>
        <typeparam name="T"> el tipo de objeto que quieres exportar</typeparam>
        <param name="objList" > un conjunto de objetos</param>
        <param name="NombreDearchivo"> el nombre de archivo exportado</param>
        <param name="columnInfo"> información del nombre de la columna</param>
        public void <T>ListToExcel(List<T> objList, cadena NombreArchivo, Diccionario<cadena, cadena> columnInfo)
        {
            if (columnInfo.Count == 0) { return; }
            if (objList.Count == 0) { return; }
            Generar HTML en EXCEL
            cadena excelStr = "";
            Escribe myType = objList[0]. GetType();
            En función de la reflexión, el atributo que se va a mostrar se obtiene a partir de la información del nombre del atributo que se ha pasado
            List<System.Reflection.PropertyInfo> myPro = nueva Lista<System.Reflection.PropertyInfo>();
            foreach (cadena cName en columnInfo.Keys)
            {
                System.Reflection.PropertyInfo p = miTipo.ObtienePropiedad(cNombre);
                si (p != nulo)
                {
                    myPro.Add(p);
                    excelStr += columnInfo[cName] + "\t";
                }
            }
            Si no se encuentran atributos disponibles, termina
            if (myPro.Count == 0) { return; }
            excelStr += "\n";
            foreach (T obj en objList)
            {
                foreach (System.Reflection.PropertyInfo p en myPro)
                {
                    excelStr += p.GetValue(obj, null) + "\t";
                }
                excelStr += "\n";
            }
            Salida EXCEL
            HttpResponse rs = System.Web.HttpContext.Current.Response;
            rs. ContentEncoding = System.Text.Encoding.GetEncoding ("GB2312");
            rs. AppendHeader("Content-Disposition", "attachment; nombrede de archivo=" + NombreDearchivo);
            rs. ContentType = "application/ms-excel";
            rs. Escribe (excelStr);
            rs. Fin();
        }
 Propietario| Publicado en 31/7/2019 13:22:31 |
chenxingen168 Publicado el 2019-5-13 22:12
Buen código, gracias por compartirlo

De nada
Publicado en 18/6/2019 14:39:34 |
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Publicado en 20/7/2018 8:09:57 |
Montañas y ríos

Puntuación

Número de participantes1MB-1 contribuir-1 Colapso razón
QWERTYU -1 -1 No eches agua, mejorar la calidad de las respuestas es responsabilidad de todo miembro.

Ver todas las valoraciones

Publicado en 25/7/2018 9:23:54 |
Puedes echar un vistazo, es mejor
Publicado en 25/7/2018 9:27:42 |
Está bastante bien
Publicado en 22/8/2018 15:56:01 |
Contenido del método EntityListToExcel2003
Publicado en 5/9/2018 16:24:07 |
Agua agua agua

Puntuación

Número de participantes1MB-1 contribuir-1 Colapso razón
QWERTYU -1 -1 No eches agua, mejorar la calidad de las respuestas es responsabilidad de todo miembro.

Ver todas las valoraciones

Publicado en 6/9/2018 9:30:18 |
Como uno, márcalo y úsalo en el futuro.
Publicado en 19/9/2018 15:05:17 |
Muy útil, gracias
Publicado en 27/9/2018 8:56:58 |
Apoya al propietario para actualizar~
Publicado en 27/9/2018 9:14:28 |
Descúbrelo
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com