导出csv格式文件

本文详细介绍了如何在编程中创建CSV(逗号分隔值)文件,以及如何进行有效格式化,确保数据在导入其他应用程序时的正确性和一致性。内容涵盖了CSV文件的基本结构、字段分隔、转义字符的使用以及如何处理特殊数据类型等关键点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
	class TransExportCsvLib
	{
		public function exportTransLib(MY_Controller $ctrl,$condition=array(),$getDomainGroup)
		{
			require_once APP_MOD_PATH."trans_domain_auction.php";
			$TDAsdk = new Trans_domain_auction();
			$totalCount=$TDAsdk->getTransSearchCount($condition['domainName'],  '', $condition['buyer'], $condition['seller'], 8, $condition['finishDate'],
											1, $condition['sysGroupOne'], $condition['sysGroupTwo'], '', $condition['domainTLD'],  $condition['transType'], $condition['transTopic']);

			if($condition['count'] > $totalCount)
			{
				//如果输入的导出个数超过数据库里符合条件的记录数
				$condition['count']=$totalCount;
			}
			$data=array();
			$domainStr='';
			$data= $TDAsdk->getTransSearch($condition['domainName'], '', $condition['buyer'], $condition['seller'], 8, $condition['finishDate'],
					1, $condition['sysGroupOne'], $condition['sysGroupTwo'], '', $condition['domainTLD'], $condition['transType'], $condition['transTopic'],
					$condition['count'],  '');
			$domainStr=$this->formateData($ctrl,$data,$getDomainGroup);
			$this->writeCsvFile($domainStr);	
		}
		/**
		 * 格式化导出的数据
		 *add 2013-09-18 by huangjt
		 *param:obj
		 *param:array
		 *param:int
		 *return : string
		 */
		public function formateData(MY_Controller $ctrl,$data,$getDomainGroup)
		{
			require_once APP_MOD_PATH."trans_delivery.php";
			$transDelivery=new Trans_delivery();
			$pLib = new PublicCommonLib();
			$transTopicConf = $pLib->configCovert($ctrl->config->item('fabu_transtopic'));
			$tldConf = $ctrl->config->item('trans_domain_domainTLD');
			$domainList=array();
			$domainStr = 'AuditListId,域名,系统分组,域名后缀,买家ID,卖家ID,交易类型,专题类型,交易金额,手续费,结拍时间,交易完成时间,交易状态'."\n";
			if($data)
			{
				$tsDomainGroup= $ctrl->config->item('ts_domaingroup');
				$tsTranstype=$ctrl->config->item('ts_transtype');
				$tsTransstatus=$ctrl->config->item('ts_transstatus');
				foreach($data as  $k=>$v){
					$domainStr .= $v['AuditListId'].",";
					$domainStr .= $v['DomainName'].",";
					$domainStr .= ($getDomainGroup ?trim(str_replace(' ','',$tsDomainGroup[$getDomainGroup][0])):'').",";
					$domainStr .= (empty($tldConf[$v['DomainTLD']]) ? '未知后缀' : $tldConf[$v['DomainTLD']]).",";
					$domainStr .= $v['Buyer'].",";
					$domainStr .= $v['Seller'].",";
					$domainStr .= $transTopicConf[$v['TransTopic']].",";
					$domainStr .= $tsTranstype[$v['TransType']][0].",";
					$domainStr .= $v['BidPrice'].",";
					$domainStr .= $v['Poundage'].",";
					$domainStr .= $v['FinishDate'].",";
					$trans = $transDelivery->getTransInfo($v['AuditListId']);
					$domainStr .= $trans['DeliveryDateFlag'].",";
					$domainStr .= $tsTransstatus[$v['TransStatus']]."\n";
				}
			}
			return $domainStr;
		}
		/**
		 * 写入csv文件
		 * add 2013-09-18 by huangjt
		 * param:array
		 */
		public function writeCsvFile($domainStr)
		{
			$fileName="交易列表_".date('Y-m-d-H-i-s').'.csv';
			header("Content-type:text/csv");
			header("Content-Disposition:attachment;filename=".$fileName);
			header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
			header('Expires:0');
			header('Pragma:public');
			echo $domainStr;
			exit();
		}
	}
?>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值