下载PHPExcel源码:http://phpexcel.codeplex.com/ 只要 PHPExcel_1.8.0_doc\Classes 目录下所有文件即可
<?php require_once("../db_config.php"); require_once("Classes/PHPExcel.php"); include("Classes/PHPExcel/IOFactory.php"); //$id=$_GET["id"]; $id="SA00000008"; $sql_saleinfo="select * from OrderInfoTable where SalesID='$id' "; $rs_saleinfo=mysql_query($sql_saleinfo); //创建一个excel对象 $objPHPExcel = new PHPExcel(); // Set properties 设置文件属性 $objPHPExcel->getProperties()->setCreator("ctos") ->setLastModifiedBy("ctos") ->setTitle("Office 2007 XLSX Test Document") ->setSubject("Office 2007 XLSX Test Document") ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") ->setKeywords("office 2007 openxml php") ->setCategory("Test result file"); //set width 设置表格宽度 $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(8); $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(45); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(10); $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(30); //设置水平居中 $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('C1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('E')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('F')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('G')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('H')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('I')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('J')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('K')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); // set table header content 设置表头名称 $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', '序号') ->setCellValue('B1', '商品编号') ->setCellValue('C1', '商品名称') ->setCellValue('D1', '商品品牌') ->setCellValue('E1', '商品类型') ->setCellValue('F1', '条形码') ->setCellValue('G1', '单位') ->setCellValue('H1', '单价') ->setCellValue('I1', '数量') ->setCellValue('J1', '小计') ->setCellValue('K1', '备注'); $rownum=1; while ($rows_saleinfo=mysql_fetch_assoc($rs_saleinfo)) { $rownum++; $mid=$rows_saleinfo["MerchID"]; $price=$rows_saleinfo["MerchSalesPrice"]; $num=$rows_saleinfo["MerchSalesQuantity"]; $each_sum=$rows_saleinfo["MerchSalesPrice"]*($rows_saleinfo["MerchSalesQuantity"]-$rows_saleinfo["ReturnsNum"]); $remark=$rows_saleinfo["PoorQualityRecords"]; $sql4="select mit.MerchNameCh,mit.MerchCode,mit.MerchBrand,mit.MerchTypeID,ut.UnitName,mtype.MerchTypeName from MerchInfoTable mit LEFT JOIN UnitTable ut ON ut.UnitID=mit.UnitID LEFT JOIN MerchTypeTable mtype ON mtype.MerchTypeID=mit.MerchTypeID WHERE mit.MerchID='$mid'"; $rs4=mysql_query($sql4); $row4=mysql_fetch_assoc($rs4); $mename=$row4["MerchNameCh"]; $code=$row4["MerchCode"]; $brand=$row4["MerchBrand"]; $unitname=$row4["UnitName"]; $typename=$row4["MerchTypeName"]; $objPHPExcel->getActiveSheet()->setCellValue('A' . $rownum, $rownum-1); $objPHPExcel->getActiveSheet()->setCellValue('B' . $rownum, $mid); $objPHPExcel->getActiveSheet()->setCellValue('C' . $rownum, $mename); $objPHPExcel->getActiveSheet()->setCellValue('D' . $rownum, $typename); $objPHPExcel->getActiveSheet()->setCellValue('E' . $rownum, $brand); $objPHPExcel->getActiveSheet()->setCellValue('F' . $rownum, ' '.$code); $objPHPExcel->getActiveSheet()->setCellValue('G' . $rownum, $unitname); $objPHPExcel->getActiveSheet()->setCellValue('H' . $rownum, $price); $objPHPExcel->getActiveSheet()->setCellValue('I' . $rownum, $num); $objPHPExcel->getActiveSheet()->setCellValue('J' . $rownum, $each_sum); $objPHPExcel->getActiveSheet()->setCellValue('K' . $rownum, $remark); } $objPHPExcel->getActiveSheet()->setTitle('Simple'); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); // $filename="销售订单".date('Y-m-d'); // Redirect output to a client’s web browser (Excel5) // ob_end_clean();//清除缓冲区,避免乱码 header('Content-Type: application/vnd.ms-excel'); // header('Content-Disposition: attachment;filename='.$filename); header('Content-Disposition: attachment;filename="01simple.xls"'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; ?>