直接上代码: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打开转格式就不会乱码了!