本文将带您了解关于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)
- java读取excel或者csv时日期格式数据处理
- php 导入导出excel:php导出excel
- PHP 导出Excel示例分享,php导出excel示例
- PHP 导出Excel示例分享,php导出excel示例_PHP教程
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时日期格式数据处理
背景:最近写一个通过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
/**
* @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示例
下载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示例
下载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或者csv和php 导出excel的介绍到此结束,谢谢您的阅读,有关java读取excel或者csv时日期格式数据处理、php 导入导出excel:php导出excel、PHP 导出Excel示例分享,php导出excel示例、PHP 导出Excel示例分享,php导出excel示例_PHP教程等更多相关知识的信息可以在本站进行查询。
本文标签: