쓸데없는 소리는 그만하고 바로 본론으로 들어가겠습니다! ! 단순 JS에서 Excel을 내보낼 수 있는 경우는 거의 없습니다. 일반적으로 이 작업을 완료하려면 클라이언트에 설치된 Office Excel 구성 요소를 호출해야 합니다. 여기서는 EasyUI의 DataGrid가 JS를 결합하여 Excel 파일을 내보내는 방법을 주로 설명합니다
1. Excel을 내보내는 핵심 코드 부분은 다음과 같습니다
function Exproter() { //获取Datagride的列 var rows = $('#test').datagrid('getRows'); var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel var oWB = oXL.Workbooks.Add(); //获取workbook对象 var oSheet = oWB.ActiveSheet; //激活当前sheet for (var i = 0; i < rows.length; i++) { oSheet.Cells(i + 1, 1).value = rows[i].O_NAME; } oXL.Visible = true; //设置excel可见属性 }
2. 위의 JS 메소드가 원활하게 실행되기 위한 전제조건은
1. 컴퓨터에 엑셀이 설치되어 있다는 것입니다.
2. ;인터넷
"안전한 것으로 표시되지 않은 ActiveX 컨트롤 초기화 및 스크립트, 활성화로 설정"
//EasyUI datagrid 动态导出Excel function ExporterExcel() { //获取Datagride的列 var rows = $('#tt').datagrid('getRows'); var columns = $("#tt").datagrid("options").columns[0]; var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel var oWB = oXL.Workbooks.Add(); //获取workbook对象 var oSheet = oWB.ActiveSheet; //激活当前sheet //设置工作薄名称 oSheet.name = "导出Excel报表"; //设置表头 for (var i = 0; i < columns.length; i++) { oSheet.Cells(1, i+1).value = columns[i].title; } //设置内容部分 for (var i = 0; i < rows.length; i++) { //动态获取每一行每一列的数据值 for (var j = 0; j < columns.length; j++) { oSheet.Cells(i + 2, j+1).value = rows[i][columns[j].field]; } } oXL.Visible = true; //设置excel可见属性 }