<!-- BEGIN: main -->
<form action="/admin/index.php?language=vi&nv={MODULE_NAME}&{NV_OP_VARIABLE}={OP}" method="post">
<div class="text-left"><input class="btn btn-primary" name="submit" type="submit" value="{LANG.xuat}" /></div>
</form>
<!-- END: main -->
File này chỉ hiển thị nút bấm vào để xuất ra excel.
<?php
/**
* @Project NUKEVIET 4.x
* @Author VINADES.,JSC <contact@vinades.vn>
* @Copyright (C) 2020 VINADES.,JSC. All rights reserved
* @License: Not free read more http://nukeviet.vn/vi/store/modules/nvtools/
* @Createdate Sat, 31 Oct 2020 02:20:33 GMT
*/
if (!defined('NV_IS_FILE_ADMIN')) {
die('Stop!!!');
}
$page_title = $lang_module['xuatex'];
//------------------------------
// Viết code xử lý chung vào đây
//------------------------------
$xtpl = new XTemplate('xuatex.tpl', NV_ROOTDIR . '/themes/' . $global_config['module_theme'] . '/modules/' . $module_file);
$xtpl->assign('LANG', $lang_module);
$xtpl->assign('NV_LANG_VARIABLE', NV_LANG_VARIABLE);
$xtpl->assign('NV_LANG_DATA', NV_LANG_DATA);
$xtpl->assign('NV_BASE_ADMINURL', NV_BASE_ADMINURL);
$xtpl->assign('NV_NAME_VARIABLE', NV_NAME_VARIABLE);
$xtpl->assign('NV_OP_VARIABLE', NV_OP_VARIABLE);
$xtpl->assign('MODULE_NAME', $module_name);
$xtpl->assign('OP', $op);
//-------------------------------
// Viết code xuất ra site vào đây
//-------------------------------
$xtpl->parse('main');
$contents = $xtpl->text('main');
include NV_ROOTDIR . '/includes/header.php';
echo nv_admin_theme($contents);
include NV_ROOTDIR . '/includes/footer.php';
Nội dung file này chưa xử lý gì, mà đây chỉ là cấu hình cơ bản của một chức năng trong admin.
$lang_module['xuatex'] = 'Xuất dữ liệu ra Excel';
$lang_module['xuat'] = 'Bấm để xuất dữ liệu ra Excel';
$allow_func[] = 'config';
Thêm vào ngay dưới dòng lệnh sau:
$submenu['xuatex'] = $lang_module['xuatex'];
$allow_func[] = 'xuatex';
Đến đây cơ bản đã thêm được một hàm trong admin. Vào lại phần quản lý module users trong admin để xem kết quả:
//--Set độ rộng cột A là tự động.
$sheet->getColumnDimension('A')->setAutoSize(true);
//--MergeCells--
$sheet->mergeCells('A2:H2');
//--Chọn nền cho dòng tiêu đề A4:H4.
$sheet->getStyle('A4:H4')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB('00ffff00');
//--Căn giữa hàng tiêu đề A4:H4.
$sheet->getStyle('A4:H4')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
// Set border A4: H10
$styleArray = array(
'borders' => array(
'allborders' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array(
'argb' => 'FF000000'
)
)
)
);
$sheet->getStyle('A4' . ':' . 'H10')->applyFromArray($styleArray);
//Set font size.
$sheet->getStyle('A1'.':'.'H10')
->getFont()->setBold(false)
->setName('Times New Roman')
->setSize(14);
//--Set mật khẩu cho file để không cho chỉnh sửa.
$sheet->getProtection()->setPassword('123456');
$sheet->getProtection()->setSheet(true);
//Đoạn code lưu file Excel về máy.
$objWriter = new PHPExcel_Writer_Excel2007($objExcel);
$filename = 'export_diem.xlsx';
$objWriter->save($filename);
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Type: application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet');
header('Content-Length: ' . filesize($filename));
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate');
header('Pragma: no-cache');
readfile($filename);
Ý kiến bạn đọc