PHP的Excel导出与导入

这篇具有很好参考价值的文章主要介绍了PHP的Excel导出与导入。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

下载地址(注意php版本大于7.3可能会报错)

GitHub - PHPOffice/PHPExcel: ARCHIVED

解压

PHP的Excel导出与导入,乱七八糟,php,php,excel,开发语言

1、导出 Excel

$data=[
    ['name'=>'a','age'=>11],
    ['name'=>'b','age'=>22],
    ['name'=>'d','age'=>33],
];
$fileds=[
    "name"=>"名称",
    "age"=>"年龄",
];

push($data,'test',$fileds);
function push($data,$name='fage_Excel',$fields=array()){
    require_once("./Classes/PHPExcel.php");

    error_reporting(E_ALL);
    ini_set('date.timezone','PRC');
    $objPHPExcel = new \PHPExcel();
    ini_set('memory_limit', '-1');
    $username = 'a';
    /*以下是一些设置 ,什么作者  标题啊之类的*/
    $objPHPExcel->getProperties()->setCreator($username)
        ->setLastModifiedBy($username)
        ->setTitle("订单数据导出")
        ->setSubject("订单数据导出")
        ->setDescription("订单数据")
        ->setKeywords("excel")
        ->setCategory("result file");
    $cellName = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');

    //Excel表头
    $num = 0;
    foreach($fields as $k => $v){
        $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension($cellName[$num])->setWidth(15);
        $objPHPExcel->setActiveSheetIndex(0)
            //Excel的第A列,uid是你查出数组的键值,下面以此类推
            ->setCellValue($cellName[$num]."1", $v);
        $num++;
    }

    /*Excel里的数据*/
    foreach($data as $k => $v){
        $num=$k+2;
        $vk=0;
        foreach($fields as $kk => $vv){
            if($kk=="imgurl")
            {
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$vk].$num,"http://wx.walch.net.cn/walchsales/Uploads/".$v[$kk]);
                //$objPHPExcel->setActiveSheetIndex(0)->
                $objPHPExcel->setActiveSheetIndex(0)->getCell($cellName[$vk].$num)->getHyperlink()->setUrl("http://wx.walch.net.cn/walchsales/Uploads/".$v[$kk]);
            }
            else if(strpos($kk,'img') > 0)
            {

                $v[$kk] =  str_replace(base_url(),"",$v[$kk]) ;
                $path='.'.$v[$kk];
                if($v[$kk]&&file_exists($path)){

                    $objPHPExcel->setActiveSheetIndex(0)->getRowDimension($num)->setRowHeight(80);
                    $img=new \PHPExcel_Worksheet_Drawing();
                    $img->setPath($path);//写入图片路径
                    $img->setHeight(100);//写入图片高度
                    //$img->setWidth(100);//写入图片宽度
                    $img->setOffsetX(1);//写入图片在指定格中的X坐标值
                    $img->setOffsetY(1);//写入图片在指定格中的Y坐标值
                    $img->setRotation(1);//设置旋转角度
                    $img->getShadow()->setVisible(true);//
                    $img->getShadow()->setDirection(10);//
                    $img->setCoordinates($cellName[$vk].$num);//设置图片所在表格位置
                    $img->setWorksheet($objPHPExcel->setActiveSheetIndex(0));//把图片写到当前的表格中
                }

            }
            else
            {

                if($kk == "number")
                {
                    $objPHPExcel->setActiveSheetIndex(0)->setCellValueExplicit($cellName[$vk].$num, $num-1);
                }
                else
                {
                    $objPHPExcel->setActiveSheetIndex(0)->setCellValueExplicit($cellName[$vk].$num, $v[$kk]);
                }
            }


            $vk++;
        }
    }

    $objPHPExcel->getActiveSheet()->setTitle('User');
    $objPHPExcel->setActiveSheetIndex(0);
    header('Content-type: application/vnd.ms-excel;charset=utf-8;name="' . $name . '.xlsx"');
    header("Content-Disposition: attachment; filename=$name.xls");
    header('Cache-Control: max-age=0');
    $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
    ob_end_clean();
    $objWriter->save('php://output');
    exit;
}

PHP的Excel导出与导入,乱七八糟,php,php,excel,开发语言

2、导入Excel

先通过文件上传方式到服务器

php+html+js+ajax实现文件上传_php上传文件ajax-CSDN博客

读取数据

$file='test.xls';
$data=read($file);
var_dump($data);exit;
function read($file){
    require_once("./Classes/PHPExcel.php");
    // 加载Excel文件
    $objPHPExcel = PHPExcel_IOFactory::load($file);

    // 获取第一个工作表
    $sheet = $objPHPExcel->getActiveSheet();
    $rowDataAll=[];
      // 循环读取每一行数据
    foreach ($sheet->getRowIterator() as $row) {
        $rowData = array();
        // 循环读取每一列数据
        foreach ($row->getCellIterator() as $cell) {
            $rowData[] = $cell->getValue();
        }
        $rowDataAll[]=$rowData;

    }
    return $rowDataAll;
}

PHP的Excel导出与导入,乱七八糟,php,php,excel,开发语言文章来源地址https://www.toymoban.com/news/detail-727819.html

到了这里,关于PHP的Excel导出与导入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PHP中excel带图片数据导入

    前提:有个需求需要实现带图片的excel数据导入数据库中,发现 PHPExcel - Excel 操作库 已经停止维护,在PHP8的版本中,有些语法不支持,报错一堆,改了一堆,又还有一堆。所以决定找个替代的扩展:phpoffice/phpspreadsheet 技术背景前提: ThinkPHP8.0 php8.0.2nts “phpoffice/phpspreadsheet”

    2024年02月01日
    浏览(28)
  • 解决php导出excel中小数尾部0不显示的问题

    调整代码前: 新增代码: 效果:

    2024年02月09日
    浏览(18)
  • 解决使用php将excel数据导入数据库报错问题

    今天在用 phpexcel 将数据xlxs数据导入到数据库发现一直报错 Array and string offset access syntax with curly braces is no longer supported 百度下发现PHP7.4后面版本,不再能够使用花括号来访问数组或者字符串的偏移,而我当前php版本是8.1 没办法根据他这个报错 一步一步找到对应的文件将{} 修改

    2024年04月10日
    浏览(45)
  • java poi导入Excel、导出excel

    java poi导入Excel、导出excel ReadPatientExcelUtil PoiUtils FileUtils

    2024年02月15日
    浏览(28)
  • 【Go】excelize库实现excel导入导出封装(三),基于excel模板导出excel

    大家好,这里是符华~ 关于excelize库实现excel导入导出封装,我已经写了两篇了,我想要的功能基本已经实现了,现在还差一个模板导出,这篇文章就来讲讲如何实现用模板导出excel。 前两篇: 【Go】excelize库实现excel导入导出封装(一),自定义导出样式、隔行背景色、自适应

    2024年01月25日
    浏览(43)
  • 前端导入导出excel记录

    前端模块的导入导出excel功能,大体分为两个逻辑。 前端使用导入组件,获取excel,交给 后端处理 前端使用导入组件,获取excel,自己 解析数据 ,然后调用数据存储的方法。 我们分别对这两种方法进行记录。 导出 组件: 方法: api: util: 导入 组件: 方法: 工具方法: 导

    2024年02月12日
    浏览(27)
  • laravel excel导入导出

    版本2.1和现在版本 有所不一样 config配置文件夹中excel.php,配置生成文件的地址

    2024年02月10日
    浏览(32)
  • EasyPio导入导出excel表格

    EasyPoi是一个功能强大且易于使用的Java Excel操作框架,其主要特点如下: 简单易用:EasyPoi提供简洁而直观的API,使Java开发人员能够轻松地进行Excel导入导出操作,无需繁琐的代码和复杂的配置。 支持多种数据源:EasyPoi支持从数据库、List集合、Map等各种数据源快速生成Excel文

    2024年02月12日
    浏览(45)
  • POI 实现Excel导入导出

    什么是POI Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程序对Microsoft Office格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“简洁版的模糊实现”。 生成xls和xlsx有什么区别呢? XLS XLSX 只能打开xls格式,无法直接打开x

    2024年02月03日
    浏览(33)
  • C# 导出EXCEL 和 导入

    2024年01月16日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包