php上传excel表格并获取数据
这个是最近需要做的⼀个功能,在⽹上也查看了很多相关的⽂章,基本上⼤同⼩异,在这⾥整理⼀下。⼀:⾸先是html部分
<html>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
⼆:就是去接收和处理上传的⽂件了。php部分
//⽂件存放的路径
$save_path = "/upload/";
//⽂件存放的⽂件夹
$save_files = $this->geturl();
这个是以年⽉⽇新建的⽂件夹,仅供参考。
//先检查当前⽂件夹是否存在,如不存在,创建⽂件夹
function geturl()
{
$year = date('Y');
$month= date('m');
$day= date('d');
$str = $year.$month.$day;
if(strtoupper(substr(PHP_OS,0,3))=='WIN'){
$path = getcwd() . "/upload/".$str;
}else{
$path = "/mnt/erp/".$str;
}
if(!file_exists($path))//判断⽂件夹是否存在
{
mkdir($path);
}
//return $path."/";
return $str."/";
}
//这个是上传⽂件到需要保存的位置,
if (!@move_uploaded_file($_FILES[$upload_name]["tmp_name"], $save_path.$file_path)) {
$error = "error|上传⽂件错误.";
exit(0);
}
下⾯开始获取你上传的excel数据了
//获取上传表格的数据
$file_name = $save_path.$file_path; //获取上传⽂件的地址名称
require_once APPPATH . 'views/IDC/config/PHPExcel.php';
require_once APPPATH . 'views/IDC/config/PHPExcel/IOFactory.php';
require_once APPPATH . 'views/IDC/config/PHPExcel/Cell.php';
$objReader = PHPExcel_IOFactory::createReader('excel2007'); //建⽴reader对象
$objPHPExcel = $objReader->load($file_name);
$sheet = $objPHPExcel->getSheet();
$highestRow = $sheet->getHighestDataRow(); // 取得总⾏数
$highestColumn_num = PHPExcel_Cell::columnIndexFromString($sheet->getHighestDataColumn()); //列数
//$columns = PHPExcel_Cell::getColumn($highestColumn_num);
$columns = array('A','B','C','D','E','F','G');
$arr_result = array();
$dealer_element = array();
for ($j = 2; $j <= $highestRow; $j++) {
for ($k = 0; $k < count($columns); $k++) {
//读取单元格
$value = $objPHPExcel->getActiveSheet()->getCell($columns[$k] . $j)->getValue();//这个就是获取每个单元格的值
$value = trim($value);
表格网站php源码if (empty($value)) {
$value = NULL;
}
$dealer_element[$k] = $value;
//这⾥可以根据要求,做⼀些数据的验证
}
$arr_result[$j] = $dealer_element;
}
echo json_encode($arr_result);
以上就是本⽂的全部内容,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,同时也希望多多⽀持
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论