直接上代碼:php
導入:服務器
public function do_finance()
{
//判斷上傳文件存在值
if(!empty($_FILES)){session
$filename = $_FILES['file']['tmp_name'];//被上傳文件的名稱
$filetype = $_FILES["file"]["type"];//被上傳文件的類型
$filesize = $_FILES["file"]["size"];// 被上傳文件的大小,以字節計
$filetmp = $_FILES["file"]["tmp_name"];//存儲在服務器的文件的臨時副本的名稱
$fileerror = $_FILES["file"]["error"];//由文件上傳致使的錯誤代碼app
//判斷是否上傳成功
if($fileerror==0){
//判斷是不是excel表格
if($filetype=="application/vnd.ms-excel"){post
$a=0;
//以讀取的方式打開表格
$handle = fopen($filename, 'r');this
//header("Content-type: applicationnd.ms-excel; charset=utf-8");
while (($arr = fgetcsv($handle, 10000, ",")) !== FALSE) {
$a++;url
if($a==1){continue;}spa
$data=array(
'add_date_time'=>iconv('gbk', 'utf-8',$arr['0']),
'summary'=>iconv('gbk', 'utf-8',$arr['1']),
'income'=>iconv('gbk', 'utf-8',$arr['2']),
'expense'=>iconv('gbk', 'utf-8',$arr['3']),
'remark'=>iconv('gbk', 'utf-8',$arr['4']),
'admin_id' => $this->session->userdata('admin_id'),
'admin_add_date' =>date("Y-m-d"),
);excel
$this->db->insert("finance",$data);
}
//導入成功結束提示
show_msg("導入成功",site_url("manage/finance/"));
}else{utf-8
show_msg("上傳文件非cvs格式,請從新上傳");
}
}else{
switch ($fileerror){
case 1:
show_msg("上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值.");
break;
case 2:
show_msg("上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值");
break;
case 3:
show_msg("文件只有部分被上傳");
break;
case 4:
show_msg("沒有文件被上傳");
break;
}
}
}
}
導出:
public function get_pro(){
if(!empty($_POST)){
$day_time=$this->input->post('day_time');
}
header("Content-type: applicationnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=$day_time.csv");
$field='pro_cai,pro_figure,pro_width,pro_height,pro_diameter,pro_ls,pro_num,is_hot,is_sales,pro_brand,trade_price,promote_price,memo,brandid';
$data['title']=array(
'CAI',
'花紋',
'橫截面寬度',
'高度比',
'輪胎直徑',
'載重/速度',
'數量',
'熱銷',
'促銷',
'品牌',
'批發價',
'促銷價',
'備註',
'品牌ID',
);
echo implode(',',$data['title'])."\n";
$data['list']=$this->excel_model->get_pro($field,$day_time);
foreach($data['list'] as $item){
echo implode(',',$item)."\n";
};
}
注意:打開文件若是是excel2003/2007打開,確定是亂碼,用wps打開轉格式就不會亂碼了!