Red de conocimiento informático - Conocimiento de la instalación - Buscando código, cómo usar js para exportar Excel en un formulario que se puede descargar haciendo clic en un botón

Buscando código, cómo usar js para exportar Excel en un formulario que se puede descargar haciendo clic en un botón

Guarde el siguiente código en un archivo .js y luego llame al método extGridToExcel() cuando lo utilice.

var idTmr = "";

función de limpieza() {

window.clearInterval(idTmr();

CollectGarbage();

}

extGridToExcel = function(grid){

intentar{

if(grid){

/****************************************** generar cuadrícula Excel * ***** ***********************************/

var oXL = nuevo ActiveXObject ("Excel.Aplicación");

var oWB = oXL.Workbooks.Add();

var oSheet = oWB.ActiveSheet

var store = grid.getStore();

var recordCount = store.getCount();

var view = grid.getView()

var cm = grid. getColumnModel();

var colCount = cm.getColumnCount();

var temp_obj = []; colCount; i ){

if(cm.isHidden(i)){

}else{

temp_obj.push(i

);

}

}

oSheet.Cells(1, 1).value = ""

var cellvalue = ""

;

for(var i = 2; i lt; = temp_obj.length; i ){

cellvalue = cm.getColumnHeader(temp_obj[i - 1]); .Cells(1, i).value = valor de celda

}

for(var i =

1; i lt; = recordCount; i ){

for(var j = 1; jlt; = temp_obj.length; j ){

oSheet.Cells(i 1, j ).value = view.getCell(i-1, temp_obj[j-1]).innerText

}

}

oXL.UserControl = true;

oXL.Visible = falso;

oXL.DisplayAlerts = falso

prueba{

oXL.Save(); /p>

}

catch(e)

{

oXL.Quit();

oXL = nulo;

idTmr = window.setInterval("Limpieza();", 1

return

}

oXL.DisplayAlerts; = verdadero;

oXL.Quit();

oXL = nulo

idTmr = window.setInterval("Limpieza();", 1);

Ext.Msg.alert('Mensaje rápido', '¡Exportación de datos exitosa!');

return

}else{

Ext.Msg.alert('Error', '¡La cuadrícula de datos detallada no se creó correctamente! ');

retorno

}

}

captura(e){

si (e) .message == "El método Guardar de la clase Aplicación no es válido") {

return

}

if(Ext){

<; p> Ext.Msg.show({

título: 'Preguntar',

msg: 'Configure el menú de IE\'Herramientas\'-gt; Opciones de Internet-gt; Instalar

Full-gt; Nivel personalizado-gt; \'Inicializar y ejecutar scripts para controles ActiveX que no están marcados como seguros para scripting\'-gt; ¿Seleccionar [Activar] para generar Excel',

botones: Ext.Msg.OK,

icono: Ext.Msg.INFO

});

regresar

}else{ <; /p>

alerta('El marco ExtJs no es compatible');

retorno

}

}

}