de django.contrib importación de administración # Registro de sus modelos aquí. importación xlwt de django.http importación HttpResponse de dal importación modelos # Registre sus modelos aquí. de openpyxl importación Cuaderno de clase FundAdmin (admin.ModelAdmin): acciones = [ " export_as_excel " ] list_display = ( ' título ' , ' nombre ' , ' Tipo ', ' Unidad ' , ' estado ' , ' CREATE_TIME ' ) list_filter = [ ' título ' , ' nombre ' , ' tipo ' , ' unidad ' , ' estado ' , ' CREATE_TIME ' ,] def export_as_excel (self, solicitud, queryset) : print ( " queryset " ,queryset) meta = self.model._meta # Define el nombre del archivo en forma :. aplicación nombre de la clase nombre del modelo de impresión ( " Meta " , Meta) FIELD_NAMES son = [field.name de campo en meta.fields] # modelo de todos los nombres de los campos de respuesta = la HttpResponse (el content_type = ' aplicación de archivo / msexcel ' ) # definen el tipo de contenido respuesta respuesta [ ' el contenido-Disposition ' ] = F ' apéndice; nombre de archivo = {} .XLSX Meta ' # definen el formato de datos en respuesta a WB = el libro de trabajo () # crear el libro WS = wb.active #tabla de hoja en el activo actual ws.append (FIELD_NAMES son) # modelo como los nombres de los campos de cabecera escritos en la primera fila para obj en QuerySet: # recorrer la lista objeto seleccionado Imprimir (obj) para campo en FIELD_NAMES son: Data = [F ' { getattr (obj, campo)} ' para el campo en FIELD_NAMES son] # formato de texto de la lista modelo de valor de atributo compuesto ws.append (datos) # escrita del modelo valor del atributo wb.save (respuesta) # almacena los datos en respuesta al contenido de retorno respuesta export_as_excel.short_description =' Exportación Excel ' # la operación del texto de la pantalla en el admin admin.site.register (models.Fund, FundAdmin)