GVKun编程网logo

PHP导出excel或者csv(php 导出excel)

15

本文将带您了解关于PHP导出excel或者csv的新内容,同时我们还将为您解释php导出excel的相关知识,另外,我们还将为您提供关于java读取excel或者csv时日期格式数据处理、php导入导

本文将带您了解关于PHP导出excel或者csv的新内容,同时我们还将为您解释php 导出excel的相关知识,另外,我们还将为您提供关于java读取excel或者csv时日期格式数据处理、php 导入导出excel:php导出excel、PHP 导出Excel示例分享,php导出excel示例、PHP 导出Excel示例分享,php导出excel示例_PHP教程的实用信息。

本文目录一览:

PHP导出excel或者csv(php 导出excel)

PHP导出excel或者csv(php 导出excel)

如果遇到很大的订单表, 导出就很麻烦, 百度了一波, 加上我自己的理解, 代码

/**
 * 导出
 * 2022-1-13 11:16:48
 * @param  array  $items 数据
 */
public function export($items = [])
{
    set_time_limit(0);
    header('Content-Type: application/vnd.ms-excel');
    header('Content-disposition: attachment;filename="订单.csv"');
    header('Cache-Control: max-age=0');
    $fp = fopen('PHP://output', 'a');

    // 输出Excel列名信息, 这里导出的时候, 第一行开头不能是ID, 如果是ID会提示东西一直, 说什么格式错误, 所以我就用了小写的
    $head = array('id', '订单号', '用户');
    foreach ($head as $i => $v) {
        // CSV的Excel支持GBK编码,一定要转换,否则乱码
        // $head[$i] = iconv('utf-8', 'gb2312', $v); 这是知道编码
        // 在不知道编码的情况下, 不要用iconv('utf-8', 'gb2312', $v) 去转, 因为你不知道这狗日的字符会是啥编码, 直接搞成gb2312
        $head[$i] = mb_convert_encoding($v, 'gb2312'); //这是不知道编码
    }
    // 将数据通过fputcsv写到文件句柄
    fputcsv($fp, $head);
    // 计数器
    $cnt = 0;
    $ss = 0;
    // 每隔$limit行,刷新一下输出buffer,不要太大,也不要太小  
    $limit = 5000;
    if($limit > count($items)){
        $limit = count($items);
    }
    // 逐行取出数据,不浪费内存
    if(!empty($items)){
        while ($row = $items[$ss]) {
            $cnt ++;
            $ss++;
            if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题  
                ob_flush();
                flush();
                $cnt = 0;
            }  
            foreach ($row as $i => $v) {
                $row[$i] = mb_convert_encoding($v, 'GB2312'). "\t"; //这里的\t是为了防止出数字的字符, 很长的时候回折叠, 加上就不会了, 另外, 一定要是双引号
            }
            fputcsv($fp, $row);
            if($ss == count($items)){
                exit; //这里要给结束, 要不然你的页面上面的console都会出现在你的excel里面, 恶心到极致那种, 我在页面加载之后关闭console也不行, 这里打个断点就好了
            }
        }
    }
    exit; //这里一定要截断, 不然会有意想不到的效果, 懂我意思吧
}

excel是有上限的, 要注意啊

就这些了

爱生活

爱慧姐

小李大人

2022-1-13 11:19:39

java读取excel或者csv时日期格式数据处理

java读取excel或者csv时日期格式数据处理

背景:最近写一个通过excel批量导入数据的功能,里面含有时间,但是java读取之后把时间转为了距离1990年1月1号的天数,比如excel中时间为2018/9/16 18:30,java读取之后变成43359.77083就会有问题

出现的问题:

 SimpleDateFormat startFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

 Date date = startFormat.parse(tmpMap.get("field7"); //这句就会报错,因为43359.77083不能使用parse转

)

解决办法:

  参考这篇博客:https://blog.csdn.net/Steven_sf/article/details/78801971

  我的代码为:

    //主要使用HSSFDateUtil这个工具类处理时间,Double.valueOf(tmpMap.get("field3")这一堆就是43359.77083,使用不同的java类读取excel获取的方式不同,不用管

      Date StartDate = HSSFDateUtil.getJavaDate(Double.valueOf(tmpMap.get("field3")));

    //这一段是为了处理时区问题,没有遇见的不用看

    Calendar rightNow = Calendar.getInstance();
    rightNow.setTime(StartDate);
int timeInterval = Integer.valueOf(timeZone);
rightNow.add(Calendar.HOUR,timeInterval);
Date resultDate = rightNow.getTime();
String strDate = startFormat.format(resultDate);
Date getDate = startFormat.parse(strDate);
之前这段代码是之前一个同事写的,写到这里报错,直接try catch不管了,,,无语,以后好好努力,把遇见的问题尽量都整理出来

  

原文出处:https://www.cnblogs.com/gunduzi/p/10255049.html

php 导入导出excel:php导出excel

php 导入导出excel:php导出excel


/**
* @param string $filname //输出的文件名
* @param string $type //编码类型
* @param string $array //excel的标题
* @param string $data //需要的数据data
**/
function exportExcel($filname, $type = ''utf-8'', $array, $data) {
if (empty ($data)) {
echo "<script>alert(''sorry,no data!'');history.go(-1);</script>";
exit;
}
$filname = iconv("utf-8", "gb2312", $filname);
header("Content-type:application/vnd.ms-excel;");
header("Content-Disposition:attachment;filename=$filname.xls");
echo "";
echo '''';
foreach ($array as $val) {
echo "";
}
echo '''';
foreach ($data as $val) {
if(is_array($val)){
echo '''';
foreach ($val as $v) {
echo '''';
}
echo '''';
}else {
echo '''';
echo '''';
echo '''';
}
}
echo ''
$val
'' . $v . ''
'' . $val . ''
'';
exit;
}
  本文链接http://www.cxybl.com/html/wlbc/Php/20130326/37395.html



PHP 导出Excel示例分享,php导出excel示例

PHP 导出Excel示例分享,php导出excel示例

PHP 导出Excel示例分享,php导出excel示例

下载phpexcel_1.8.0_doc.zip http://phpexcel.codeplex.com/,将解压后的文件夹里的classes上传到网站的根目录下,classes目录内的内容如下:

导出文件Excel.php

require_once dirname(__FILE__).''/Classes/PHPExcel.php'';//引入PHPExcel
.....此处略去从数据库获取数据的过程,$a为需要导出的数组......
$numArr = 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'');
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

$arr = array(''订单号'',''下单时间'',''城市'',''地区'', ''客户名称'', ''收货人'', ''联系电话'', ''收货地址'', ''ERP客户名称'', ''物流系统客户名称'', ''活动项目'',
 ''品牌'', ''型号'', ''颜色'', ''物流系统型号'', ''订货量'', ''单价'', ''代收货款'', ''红包'', ''价保返利'', ''运费'', ''实收金额'', ''付款方式'', ''订单来源'',
 ''上游厂商'', ''是否在仓'', ''快递面单号'', ''订单状态'', ''确认时间'', ''末次状态确认时间'', ''描述'', ''对应业务'', ''对应客服'', ''商家留言'', ''下单摘要'',
 ''业务员'', ''联系方式'');
// 输出标题
echo date(''H:i:s'') , " Add some data" , EOL;
//设置换行
$objPHPExcel->getActiveSheet()->getStyle(''H'')->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getStyle(''Y'')->getAlignment()->setWrapText(true);
//设置相应列的宽度
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''A'')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''B'')->setWidth(20);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''G'')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''H'')->setWidth(40);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''I'')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''J'')->setWidth(15);
//输出第一行
$objPHPExcel->setActiveSheetIndex(0)
   ->setCellValue(''A1'', $arr[0])
 ->setCellValue(''B1'', $arr[1])
 ->setCellValue(''C1'', $arr[2])
 ->setCellValue(''D1'', $arr[3])
 ->setCellValue(''E1'', $arr[4])
 ->setCellValue(''F1'', $arr[5])
 ->setCellValue(''G1'', $arr[6])
 ->setCellValue(''H1'', $arr[7])
 ->setCellValue(''I1'', $arr[8])
 ->setCellValue(''J1'', $arr[9])
   ->setCellValue(''K1'', $arr[10])
   ->setCellValue(''L1'', $arr[11]);


//输出内容
for($i=0;$i<count($a);$i++){
 $objPHPExcel->setActiveSheetIndex(0)
  ->setCellValue($numArr[0].($i+2), $a[$i][''order_sn''])
  ->setCellValue($numArr[1].($i+2), $a[$i][''add_time''])
  ->setCellValue($numArr[2].($i+2), $a[$i][''city''])
  ->setCellValue($numArr[3].($i+2), $a[$i][''region_name''])
  ->setCellValue($numArr[4].($i+2), $a[$i][''company''])
  ->setCellValue($numArr[5].($i+2), $a[$i][''consignee''])
  ->setCellValue($numArr[6].($i+2), $a[$i][''mobile''])
  ->setCellValue($numArr[7].($i+2), $a[$i][''address''])
  ->setCellValue($numArr[8].($i+2), '''')
  ->setCellValue($numArr[9].($i+2), '''')
  ->setCellValue($numArr[10].($i+2), '''')
  ->setCellValue($numArr[11].($i+2), $a[$i][''brand_name'']);
}

// Rename worksheet
echo date(''H:i:s'') , " Rename worksheet" , EOL;
$dirName = date("Ymd");//目录名
$fileName = date("YmdHis");//文件名
$objPHPExcel->getActiveSheet()->setTitle($fileName);


// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);


// Save Excel 2007 file
echo date(''H:i:s'') , " Write to Excel2007 format" , EOL;
$callStartTime = microtime(true);
if(!opendir(''../excel/''.$dirName)){
 mkdir(''../excel/''.$dirName);
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ''Excel2007'');
$objWriter->save(''../excel/''.$dirName.''/''.$fileName.''.xlsx'');

$end = getCurrentTime();
$spend = $end-$begin;
if ($spend > 30){
 echo ''<script>if(confirm("执行超时!")){ window.history.back(-1);}</script>'';
 exit;
}
header(''Location:http://''.$_SERVER[''HTTP_HOST''].''/excel/''.$dirName.''/''.$fileName.''.xlsx'');
登录后复制

php 导出 excel

简单点就发送EXCEL头给浏览器
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=aa.xls");

复杂的三言两语将不清
 

急php导出生成excel的代码

你可以使用phpexcel来进行输出 很好用官方地址: phpexcel.codeplex.com/ 右上角有 download使用方法: //设置PHPExcel类库的include path set_include_path(''.''. PATH_SEPARATOR . ''D:\Zeal\PHP_LIBS'' . PATH_SEPARATOR . get_include_path()); /** * 以下是使用示例,对于以 //// 开头的行是不同的可选方式,请根据实际需要 * 打开对应行的注释。 * 如果使用 Excel5 ,输出的内容应该是GBK编码。 */ require_once ''PHPExcel.php''; // uncomment ////require_once ''PHPExcel/Writer/Excel5.php''; // 用于其他低版本xls // or ////require_once ''PHPExcel/Writer/Excel2007.php''; // 用于 excel-2007 格式 // 创建一个处理对象实例 $objExcel = new PHPExcel(); // 创建文件格式写入对象实例, uncomment ////$objWriter = new PHPExcel_Writer_Excel5($objExcel); // 用于其他版本格式 // or ////$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式 //$objWriter->setOffice2003Compatibility(true); //************************************* //设置文档基本属性 $objProps = $objExcel->getProperties(); $objProps->setCreator("Zeal Li"); $objProps->setLastModifiedBy("Zeal Li"); $objProps->setTitle("Office XLS Test Document"); $objProps->setSubject(&q......余下全文>>
 

PHP 导出Excel示例分享,php导出excel示例_PHP教程

PHP 导出Excel示例分享,php导出excel示例_PHP教程

PHP 导出Excel示例分享,php导出excel示例

下载phpexcel_1.8.0_doc.zip http://phpexcel.codeplex.com/,将解压后的文件夹里的classes上传到网站的根目录下,classes目录内的内容如下:

导出文件Excel.php

require_once dirname(__FILE__).''/Classes/PHPExcel.php'';//引入PHPExcel
.....此处略去从数据库获取数据的过程,$a为需要导出的数组......
$numArr = 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'');
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

$arr = array(''订单号'',''下单时间'',''城市'',''地区'', ''客户名称'', ''收货人'', ''联系电话'', ''收货地址'', ''ERP客户名称'', ''物流系统客户名称'', ''活动项目'',
 ''品牌'', ''型号'', ''颜色'', ''物流系统型号'', ''订货量'', ''单价'', ''代收货款'', ''红包'', ''价保返利'', ''运费'', ''实收金额'', ''付款方式'', ''订单来源'',
 ''上游厂商'', ''是否在仓'', ''快递面单号'', ''订单状态'', ''确认时间'', ''末次状态确认时间'', ''描述'', ''对应业务'', ''对应客服'', ''商家留言'', ''下单摘要'',
 ''业务员'', ''联系方式'');
// 输出标题
echo date(''H:i:s'') , " Add some data" , EOL;
//设置换行
$objPHPExcel->getActiveSheet()->getStyle(''H'')->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getStyle(''Y'')->getAlignment()->setWrapText(true);
//设置相应列的宽度
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''A'')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''B'')->setWidth(20);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''G'')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''H'')->setWidth(40);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''I'')->setWidth(15);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension(''J'')->setWidth(15);
//输出第一行
$objPHPExcel->setActiveSheetIndex(0)
   ->setCellValue(''A1'', $arr[0])
 ->setCellValue(''B1'', $arr[1])
 ->setCellValue(''C1'', $arr[2])
 ->setCellValue(''D1'', $arr[3])
 ->setCellValue(''E1'', $arr[4])
 ->setCellValue(''F1'', $arr[5])
 ->setCellValue(''G1'', $arr[6])
 ->setCellValue(''H1'', $arr[7])
 ->setCellValue(''I1'', $arr[8])
 ->setCellValue(''J1'', $arr[9])
   ->setCellValue(''K1'', $arr[10])
   ->setCellValue(''L1'', $arr[11]);


//输出内容
for($i=0;$i<count($a);$i++){
 $objPHPExcel->setActiveSheetIndex(0)
  ->setCellValue($numArr[0].($i+2), $a[$i][''order_sn''])
  ->setCellValue($numArr[1].($i+2), $a[$i][''add_time''])
  ->setCellValue($numArr[2].($i+2), $a[$i][''city''])
  ->setCellValue($numArr[3].($i+2), $a[$i][''region_name''])
  ->setCellValue($numArr[4].($i+2), $a[$i][''company''])
  ->setCellValue($numArr[5].($i+2), $a[$i][''consignee''])
  ->setCellValue($numArr[6].($i+2), $a[$i][''mobile''])
  ->setCellValue($numArr[7].($i+2), $a[$i][''address''])
  ->setCellValue($numArr[8].($i+2), '''')
  ->setCellValue($numArr[9].($i+2), '''')
  ->setCellValue($numArr[10].($i+2), '''')
  ->setCellValue($numArr[11].($i+2), $a[$i][''brand_name'']);
}

// Rename worksheet
echo date(''H:i:s'') , " Rename worksheet" , EOL;
$dirName = date("Ymd");//目录名
$fileName = date("YmdHis");//文件名
$objPHPExcel->getActiveSheet()->setTitle($fileName);


// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);


// Save Excel 2007 file
echo date(''H:i:s'') , " Write to Excel2007 format" , EOL;
$callStartTime = microtime(true);
if(!opendir(''../excel/''.$dirName)){
 mkdir(''../excel/''.$dirName);
}
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ''Excel2007'');
$objWriter->save(''../excel/''.$dirName.''/''.$fileName.''.xlsx'');

$end = getCurrentTime();
$spend = $end-$begin;
if ($spend > 30){
 echo ''<script>if(confirm("执行超时!")){ window.history.back(-1);}</script>'';
 exit;
}
header(''Location:http://''.$_SERVER[''HTTP_HOST''].''/excel/''.$dirName.''/''.$fileName.''.xlsx'');
登录后复制

php 导出 excel

简单点就发送EXCEL头给浏览器
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=aa.xls");

复杂的三言两语将不清
 

急php导出生成excel的代码

你可以使用phpexcel来进行输出 很好用官方地址: phpexcel.codeplex.com/ 右上角有 download使用方法: //设置PHPExcel类库的include path set_include_path(''.''. PATH_SEPARATOR . ''D:\Zeal\PHP_LIBS'' . PATH_SEPARATOR . get_include_path()); /** * 以下是使用示例,对于以 //// 开头的行是不同的可选方式,请根据实际需要 * 打开对应行的注释。 * 如果使用 Excel5 ,输出的内容应该是GBK编码。 */ require_once ''PHPExcel.php''; // uncomment ////require_once ''PHPExcel/Writer/Excel5.php''; // 用于其他低版本xls // or ////require_once ''PHPExcel/Writer/Excel2007.php''; // 用于 excel-2007 格式 // 创建一个处理对象实例 $objExcel = new PHPExcel(); // 创建文件格式写入对象实例, uncomment ////$objWriter = new PHPExcel_Writer_Excel5($objExcel); // 用于其他版本格式 // or ////$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式 //$objWriter->setOffice2003Compatibility(true); //************************************* //设置文档基本属性 $objProps = $objExcel->getProperties(); $objProps->setCreator("Zeal Li"); $objProps->setLastModifiedBy("Zeal Li"); $objProps->setTitle("Office XLS Test Document"); $objProps->setSubject(&q......余下全文>>
 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/865614.htmlTechArticlePHP 导出Excel示例分享,php导出excel示例 下载PHPExcel_1.8.0_doc.zip http://phpexcel.codeplex.com/,将解压后的文件夹里的Classes上传到网站的根目录下,...

今天关于PHP导出excel或者csvphp 导出excel的介绍到此结束,谢谢您的阅读,有关java读取excel或者csv时日期格式数据处理、php 导入导出excel:php导出excel、PHP 导出Excel示例分享,php导出excel示例、PHP 导出Excel示例分享,php导出excel示例_PHP教程等更多相关知识的信息可以在本站进行查询。

本文标签: