mirror of
https://github.com/DzzXH/DzzOffice.git
synced 2026-04-20 11:31:43 +08:00
更新至v1.87,更新内容在笔记中查看
This commit is contained in:
96
admin/orguser/export_tmpl.php
Normal file
96
admin/orguser/export_tmpl.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/*
|
||||
* @copyright Leyun internet Technology(Shanghai)Co.,Ltd
|
||||
* @license http://www.dzzoffice.com/licenses/license.txt
|
||||
* @package DzzOffice
|
||||
* @link http://www.dzzoffice.com
|
||||
* @author zyx(zyx@dzz.cc)
|
||||
*/
|
||||
if(!defined('IN_DZZ')) {
|
||||
exit('Access Denied');
|
||||
}
|
||||
$h0=array('username'=>lang('compellation'),'email'=>lang('email'),'password'=>lang('user_login_password'),'birth'=>lang('date_birth'),'gender'=>lang('gender'),'mobile'=>lang('cellphone'),'weixinid'=>lang('weixin'),'orgname'=>lang('category_department'),'job'=>lang('department_position'));
|
||||
$h1=getProfileForImport();
|
||||
$h0=array_merge($h0,$h1);
|
||||
$title=lang('bulk_import_user_template');
|
||||
$objPHPExcel = new PHPExcel();
|
||||
$objPHPExcel->getProperties()->setCreator($_G['username'])
|
||||
->setTitle($title.' - DzzOffice')
|
||||
->setSubject($title)
|
||||
->setDescription($title.' Export By DzzOffice '.date('Y-m-d H:i:s'))
|
||||
->setKeywords($title)
|
||||
->setCategory($title);
|
||||
$list=array();
|
||||
// Create a first sheet
|
||||
$objPHPExcel->setActiveSheetIndex(0);
|
||||
$j=0;
|
||||
foreach($h0 as $key =>$value){
|
||||
$index=getColIndex($j).'1';
|
||||
$objPHPExcel->getActiveSheet()->setCellValue($index,$value);
|
||||
if($key=='username' || $key=='email'){
|
||||
$objPHPExcel->getActiveSheet()->getStyle($index)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);
|
||||
}
|
||||
$list[1][$index]=$value;
|
||||
$j++;
|
||||
}
|
||||
|
||||
$objPHPExcel->setActiveSheetIndex(0);
|
||||
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
|
||||
$filename=$_G['setting']['attachdir'].'./cache/'.random(5).'.xlsx';
|
||||
$objWriter->save($filename);
|
||||
|
||||
|
||||
$name=$title.'.xlsx';
|
||||
$name = '"'.(strtolower(CHARSET) == 'utf-8' && (strexists($_SERVER['HTTP_USER_AGENT'], 'MSIE') || strexists($_SERVER['HTTP_USER_AGENT'], 'rv:11')) ? urlencode($name) : $name).'"';
|
||||
|
||||
$filesize=filesize($filename);
|
||||
$chunk = 10 * 1024 * 1024;
|
||||
if(!$fp = @fopen($filename, 'rb')) {
|
||||
exit(lang('export_failure'));
|
||||
}
|
||||
dheader('Date: '.gmdate('D, d M Y H:i:s', TIMESTAMP).' GMT');
|
||||
dheader('Last-Modified: '.gmdate('D, d M Y H:i:s', TIMESTAMP).' GMT');
|
||||
dheader('Content-Encoding: none');
|
||||
dheader('Content-Disposition: attachment; filename='.$name);
|
||||
dheader('Content-Type: application/octet-stream');
|
||||
dheader('Content-Length: '.$filesize);
|
||||
@ob_end_clean();if(getglobal('gzipcompress')) @ob_start('ob_gzhandler');
|
||||
while (!feof($fp)) {
|
||||
echo fread($fp, $chunk);
|
||||
@ob_flush(); // flush output
|
||||
@flush();
|
||||
}
|
||||
@unlink($filename);
|
||||
exit();
|
||||
|
||||
function getColIndex($index){
|
||||
$string="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
$ret='';
|
||||
if($index>255) return '';
|
||||
for($i=0;$i<floor($index/strlen($string));$i++){
|
||||
$ret=$string[$i];
|
||||
}
|
||||
$ret.=$string[($index%(strlen($string)))];
|
||||
return $ret;
|
||||
}
|
||||
function getProfileForImport(){
|
||||
global $_G;
|
||||
if(empty($_G['cache']['profilesetting'])) {
|
||||
loadcache('profilesetting');
|
||||
}
|
||||
$profilesetting=$_G['cache']['profilesetting'];
|
||||
$ret=array();
|
||||
foreach($profilesetting as $key=> $value){
|
||||
if(in_array($key,array('department','realname','gender','birthyear','birthmonth','birthday','constellation','zodiac'))) continue;
|
||||
elseif($value['formtype']=='file') continue;
|
||||
elseif($value['formtype']=='select' || $value['formtype']=='radio'){
|
||||
$ret[$key]=$value['title']/*.($value['choices']?'('.preg_replace("/[\r\n]/i",'|',$value['choices']).')':'')*/;
|
||||
}elseif( $value['formtype']=='checkbox'){
|
||||
$ret[$key]=$value['title']/*.($value['choices']?'('.preg_replace("/[\r\n]/i",'-',$value['choices']).')':'')*/;
|
||||
}else{
|
||||
$ret[$key]=$value['title'];
|
||||
}
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user