网站制作之PhpExcel数据批量导入导出(淄博网站制作)

2023-12-25    分类: 网站建设

1、所用的框架是Thinktp 框架
2、所用插件PHPExcel
将我们的下载的PHPExcel 放入ThinkPHP\Library\Vendor 中 具体位置看自身实际情况
导入读取excl表格  vendor('PHPExcel.PHPExcelUser');  //引用文件
  $excel=new \PHPExcelUser($file); //打开$fileexcl文件;
  $data=$excel->excelImport(0); // 0代表从第一行开始
导入后通过循环对数据进行处理和保存;
导出数据  $excel=new \PHPExcelUser($FileName);  //这里的$FileName是文件的导出名称;
  $excel->excelExport($data,$title);  //这里$data为数据,$title 为表格的标题;

导入导出比较简单,这里整理了一些遇到的问题:
导入时间问题   在导入表格中的时间格式需要转换一下,转换函数如下:

 function excelTime($date, $time = false) {
        if(function_exists('GregorianToJD')){
            if (is_numeric( $date )) {
                $jd = GregorianToJD( 1, 1, 1970 );
                $gregorian = JDToGregorian( $jd + intval ( $date ) - 25569 );
                $date = explode( '/', $gregorian );
                $date_str = str_pad( $date [2], 4, '0', STR_PAD_LEFT )
                    ."-". str_pad( $date [0], 2, '0', STR_PAD_LEFT )
                    ."-". str_pad( $date [1], 2, '0', STR_PAD_LEFT )
                    . ($time ? " 00:00:00" : '');
                return $date_str;
            }
        }else{
            $date=$date>25568?$date+1:25569;
            /*There was a bug if Converting date before 1-1-1970 (tstamp 0)*/
            $ofs=(70 * 365 + 17+2) * 86400;
            $date = date("Y-m-d",($date * 86400) - $ofs).($time ? " 00:00:00" : '');
        }
        return $date;
}
这样就能到就是一个标准的时间格式,不然就是一个数字(非时间戳);

长数字字符串在表格中被转换成了科学计数法的数字最简单的方法在字符串前面加个空格或者用
$objActSheet->setCellValueExplicit('A1','330602198804224688', PHPExcel_Cell_DataType::TYPE_STRING);
将a1列的定义为字符串

Unknown codepage: 10008 PHPExcel_Shared_CodePage::NumberToName(%d) PHPExcel/Shared/CodePage.php 98 break()原因是 NumberToName() 方法中没有 10008 对应的情况处理,所以会抛出“Unknown codepage: 10008”异常。

找到PHPExcel/Shared/CodePage.php 文件添加
case 10008: return 'MAC';       break;  //在mac苹果系统下面会出现这个问题

四、下载出来乱码情况一般是缓冲问题
ob_end_clean(); //清除缓冲区,避免乱码

vendor('PHPExcel.PHPExcelUser');
$file=.'/cs.xlsx';//这是路径
$excel=new \PHPExcelUser($file);
$data=$excel->excelImport(1);
//excel表导出
ob_end_clean();//清除缓冲区,避免乱码
header("Content-type: text/html; charset=utf-8");
vendor('PHPExcel.PHPExcelUser');
$file='cs.xlsx';
$excel=new \PHPExcelUser($file);
$data=array();//数据二维数组
$title=array();//数据标题一维数组
$excel->excelExport($data,$title);
 

以上就是关于网站制作之PhpExcel数据批量导入导出(淄博网站制作),希望对你有帮助,更多内容关注创新互联。

网站题目:网站制作之PhpExcel数据批量导入导出(淄博网站制作)
本文链接:/news22/310322.html

成都网站建设公司_创新互联,为您提供网页设计公司响应式网站服务器托管域名注册云服务器电子商务

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站优化排名