php 发送邮件excel,PHP创建Excel电子表格,然后通过电子邮件将其作为附件发送

除非可以接受直接CSV,否则您需要一个库来创建实际的Excel文档. CSV将在Excel中作为电子表格打开,但您无法执行任何高级内容,如格式化或公式.

我使用PHPExcel库(http://phpexcel.codeplex.com/).它允许完整的Excel功能,包括图表和公式.它需要一点时间才能实现,代码非常冗长.但是,一旦你完成所有设置,它就像一个魅力.

这是涉及的代码片段,这是我的PHPExcel实现.我正在创建通过网站API收到的Paypal付款摘要.我只是为了让您了解所涉及的代码的数量和性质.如你所见,这都是OO.这只是代码的第一部分,我在其中设置列标签等.它通过循环将数据放在适当位置,然后是页脚的另一部分.这是一个V E R Y长文件!

// Create new PHPExcel object

$objPHPExcel = new PHPExcel();

// Set properties

$objPHPExcel->getProperties()->setCreator("----- Web Server");

$objPHPExcel->getProperties()->setLastModifiedBy("-----Web Server");

$objPHPExcel->getProperties()->setTitle("Paypal payment reconciliation report");

$objPHPExcel->getProperties()->setSubject("Paypal payment reconciliation report");

$objPHPExcel->getProperties()->setDescription("Paypal payment reconciliation report");

$objPHPExcel->getProperties()->setKeywords("paypal reconcile");

$objPHPExcel->getProperties()->setCategory("Reconciliation report");

// Create a first sheet, representing sales data

$objPHPExcel->setActiveSheetIndex(0);

// format the heading

$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Paypal Reconciliation - ran on '.date('m/d/y', time()));

$objPHPExcel->getActiveSheet()->mergeCells('A1:C1');

$objPHPExcel->getActiveSheet()->setCellValue('E1', 'Date Range: '.date('m/d/Y', $oldest_transaction).' to '.date('m/d/Y', $newest_transaction));

$objPHPExcel->getActiveSheet()->mergeCells('E1:J1');

$objPHPExcel->getActiveSheet()->duplicateStyleArray(

array(

'font' => array(

'size' => '12',

'bold' => true

)

),

'A1:I1'

);

// add column labels

$objPHPExcel->getActiveSheet()->setCellValue('A2', '#');

$objPHPExcel->getActiveSheet()->setCellValue('B2', 'Date');

$objPHPExcel->getActiveSheet()->setCellValue('C2', 'Name');

$objPHPExcel->getActiveSheet()->setCellValue('D2', 'Gross');

$objPHPExcel->getActiveSheet()->setCellValue('E2', 'Fee');

$objPHPExcel->getActiveSheet()->setCellValue('F2', 'Net');

$objPHPExcel->getActiveSheet()->setCellValue('G2', 'Balance');

$objPHPExcel->getActiveSheet()->setCellValue('H2', 'Class');

$objPHPExcel->getActiveSheet()->setCellValue('I2', 'Item Title');

$objPHPExcel->getActiveSheet()->setCellValue('J2', '');

$objPHPExcel->getActiveSheet()->setCellValue('K2', '#');

$objPHPExcel->getActiveSheet()->setCellValue('L2', 'Time');

$objPHPExcel->getActiveSheet()->setCellValue('M2', 'Type');

$objPHPExcel->getActiveSheet()->setCellValue('N2', 'Status');

$objPHPExcel->getActiveSheet()->setCellValue('O2', 'Transaction ID');

$objPHPExcel->getActiveSheet()->setCellValue('P2', 'Paypal Receipt ID');

$objPHPExcel->getActiveSheet()->setCellValue('Q2', '--- #');

$objPHPExcel->getActiveSheet()->setCellValue('R2', 'Counterparty');

$objPHPExcel->getActiveSheet()->setCellValue('S2', 'Reference Txn ID');

$objPHPExcel->getActiveSheet()->setCellValue('T2', 'Inv #');

编辑

根据请求,这里是实际输出我上面创建的Excel文档的代码:

include 'PHPExcel/IOFactory.php';

$file_name = date('m-d-Y', $oldest_transaction).'_THRU_'.date('m-d-Y', $newest_transaction);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

$objWriter->save('/usr/web/cache/temp/'.$file_name.'.xls');

header ("location:http://www.domain.com/cache/temp/".$file_name.".xls");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值