很多站长朋友们都不太清楚php创建sheet,今天小编就来给大家整理php创建sheet,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP中,从数据库取出几条数据,如何先生成xls文件,然后保存到指定文件夹下面? 2、 如何用php读取Exce表中的多个sheet 3、 php 如何做到一个excel文件内部的sheet复制。例如已经有了第一个sheet1,我们复制s 4、 php导出excel表格sheet的问题 5、 php导出带图片的excel 6、 用PHP实现多个excel文件的合并(一个excel文件为一个sheet) PHP中,从数据库取出几条数据,如何先生成xls文件,然后保存到指定文件夹下面?$keynames=array(
'0'=>'订单号',
'1'=>'项目名称',
'2'=>'单价',
'3'=>'数量',
'4'=>'运费',
'5'=>'金额',
'6'=>'支付状态',
'7'=>'支付时间',
'8'=>'选项',
'9'=>'备注',
'10'=>'收件人',
'11'=>'手机',
'12'=>'送货地址',
'13'=>'物流',
'14'=>'物流单号'
);
down_excel($eorders, $keynames,$array_key, $name);
//生成简单excel。table生成。生成excel非标准。phpexcel生成的标准,可读写excel
function down_xls($data, $keynames, $name = 'dataxls') {
$xls [] = "<html><meta http-equiv=content-type content=\"text/html; charset=UTF-8\"><body><table border='1'>";
$xls [] = "<tr><td>ID</td><td>" . implode ( "</td><td>", array_values ( $keynames ) ) . '</td></tr>';
foreach ( $data as $o ) {
$line = array (++ $index );
foreach ( $keynames as $k => $v ) {
$line [] = $o [$k];
}
$xls [] = '<tr><td>' . implode ( "</td><td>", $line ) . '</td></tr>';
}
$xls [] = '</table></body></html>';
$xls = join ( "\r\n", $xls );
header ( 'Content-Disposition: attachment; filename="' . $name . '.xls"' );
die ( mb_convert_encoding ( $xls, 'UTF-8', 'UTF-8' ) );
}
//add by wqc excel
function down_excel($data, $keynames,$array_key, $name = 'dataxls') {
require_once(dirname(dirname(dirname(__FILE__))) . '/PHPExcel/PHPExcel.php');
require_once(dirname(dirname(dirname(__FILE__))) . '/PHPExcel/PHPExcel/IOFactory.php');
//实例化phpexcel
$objPHPExcel = new PHPExcel();
$objPHPExcel->getActiveSheet()->getDefaultColumnDimension()->setWidth(16);//设置单元格宽度
$objPHPExcel->getActiveSheet()->setTitle('kutuan');//设置当前工作表的名称
foreach($keynames as $k=>$r){
$objPHPExcel->getActiveSheet()->getStyleByColumnAndRow($k, 1)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($k, 1, $r);
}
foreach($data as $key=>$value)
{
//$objPHPExcel->getSheet(1)->getProtection()->setSheet(true);
//$objPHPExcel->getSheet(1)->protectCells(0, ($key+2),$value['id']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(0, ($key+2),$value['id']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1, ($key+2),$value['team_id']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(2, ($key+2),$value['price']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(3, ($key+2),$value['quantity']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(4,($key+2),$value['fare']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(5, ($key+2),$value['origin']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(6, ($key+2),$value['state']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(7, ($key+2),$value['pay_time']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(8, ($key+2),$value['condbuy']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(9, ($key+2),$value['remark']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(10, ($key+2),$value['realname']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(11, ($key+2),$value['mobile']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(12, ($key+2),$value['address']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(13, ($key+2),$value['express']);
$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(14, ($key+2),$value['express_no']);
}
$objPHPExcel->setActiveSheetIndex(0);//设置打开excel时显示哪个工作表$name.
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=".$name);
header("Content-Transfer-Encoding: binary");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
return $objWriter->save('php://output');
}
如何用php读取Exce表中的多个sheet:php读取excel,excel下多个个工作表的方法: 1、利用PHPExcelReader来完成多个excel的读龋 2、PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式
php 如何做到一个excel文件内部的sheet复制。例如已经有了第一个sheet1,我们复制s这代码给参考,改改一定行:
<?php
//定义一个excel文件
$workbook = getcwd()."\\book1.xls";
$sheet = "Sheet1";
//生成一个com对象$ex
$ex = new COM("Excel.sheet") or Die ("连不上!!!");
//打开一个excel文件
$book = $ex->application->Workbooks->Open($workbook) or Die ("打不开!!!");
$sheets = $book->Worksheets($sheet);
$sheets->activate;
//获取一个单元格
$cell = $sheets->Cells(5,5);
$cell->activate;
//给该单元格赋值
$cell->value = 999;
//保存为另一文件book2.xls
$ex->Application->ActiveWorkbook->SaveAs(getcwd()."\\book2.xls");
//关掉excel,如果想看效果,则注释掉下面两行,由用户手动关掉excel
$ex->Application->ActiveWorkbook->Close("False");
//$ex->Quit();
unset($ex);
?>
php导出excel表格sheet的问题到处成EXCEL 我是知道 实际上就是 用html的 table 做成了表格然后 输出保存时 保存成 a.xls 这样而已 但是里边怎么做成多个sheet我还真不知道 而且 应该是不能分成sheet
实际你根本不用分成sheet 只要把每个内容都存成一个excel 然后你在自己手动建立一个ecel然后自己在建立sheet就可以了
php导出带图片的excel比较大条的一个类库,官方最新版已经蹦到7.多M大了。找了个民间精简版1.多M的。
下面是这个PHP excel类库
的一些使用方法要点备忘。来自互联网。
官方网站:
//设置PHPExcel类库的include path
set_include_path('.'. PATH_SEPARATOR .
'include path' . 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(“Office XLS Test Document, Demo”);
$objProps->setDescription(“Test document, generated by PHPExcel.”);
$objProps->setKeywords(“office excel PHPExcel”);
$objProps->setCategory(“Test”);
//*************************************
//设置当前的sheet索引,用于后续的内容操作。
//一般只有在使用多个sheet的时候才需要显示调用。
//缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0
$objExcel->setActiveSheetIndex(0);
$objActSheet = $objExcel->getActiveSheet();
//设置当前活动sheet的名称
$objActSheet->setTitle(‘测试Sheet’);
//*************************************
//设置单元格内容
//
//由PHPExcel根据传入内容自动判断单元格内容类型
$objActSheet->setCellValue(‘A1′, ‘字符串内容’); // 字符串内容
$objActSheet->setCellValue(‘A2′, 26); // 数值
$objActSheet->setCellValue(‘A3′, true); // 布尔值
$objActSheet->setCellValue(‘A4′, ‘=SUM(A2:A2)’); // 公式
//显式指定内容类型
$objActSheet->setCellValueExplicit(‘A5′, ’847475847857487584′,
PHPExcel_Cell_DataType::TYPE_STRING);
//合并单元格
$objActSheet->mergeCells(‘B1:C22′);
//分离单元格
$objActSheet->unmergeCells(‘B1:C22′);
//*************************************
//设置单元格样式
//
//设置宽度
$objActSheet->getColumnDimension(‘B’)->setAutoSize(true);
$objActSheet->getColumnDimension(‘A’)->setWidth(30);
$objStyleA5 = $objActSheet->getStyle(‘A5′);
//设置单元格内容的数字格式。
//
//如果使用了 PHPExcel_Writer_Excel5 来生成内容的话,
//这里需要注意,在 PHPExcel_Style_NumberFormat 类的 const 变量定义的
//各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode
//为 FORMAT_NUMBER 的时候,实际出来的效果被没有把格式设置为”0″。需要
//修改 PHPExcel_Writer_Excel5_Format 类源代码中的 getXf($style) 方法,
//在 if ($this->_BIFF_version == 0×0500) { (第363行附近)前面增加一
//行代码:
//if($ifmt === ’0′) $ifmt = 1;
//
//设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字
//被使用科学记数方式显示,配合下面的 setAutoSize 方法可以让每一行的内容
//都按原始内容全部显示出来。
$objStyleA5
->getNumberFormat()
->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
//设置字体
$objFontA5 = $objStyleA5->getFont();
$objFontA5->setName(‘Courier New’);
$objFontA5->setSize(10);
$objFontA5->setBold(true);
$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objFontA5->getColor()->setARGB(‘FF999999′);
//设置对齐方式
$objAlignA5 = $objStyleA5->getAlignment();
$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
//设置边框
$objBorderA5 = $objStyleA5->getBorders();
$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getTop()->getColor()->setARGB(‘FFFF0000′); // color
$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
//设置填充颜色
$objFillA5 = $objStyleA5->getFill();
$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objFillA5->getStartColor()->setARGB(‘FFEEEEEE’);
//从指定的单元格复制样式信息.
$objActSheet->duplicateStyle($objStyleA5, ‘B1:C22′);
//*************************************
//添加图片
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName(‘ZealImg’);
$objDrawing->setDescription(‘Image inserted by Zeal’);
$objDrawing->setPath(‘./zeali.net.logo.gif’);
$objDrawing->setHeight(36);
$objDrawing->setCoordinates(‘C23′);
$objDrawing->setOffsetX(10);
$objDrawing->setRotation(15);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(36);
$objDrawing->setWorksheet($objActSheet);
//添加一个新的worksheet
$objExcel->createSheet();
$objExcel->getSheet(1)->setTitle(‘测试2′);
//保护单元格
$objExcel->getSheet(1)->getProtection()->setSheet(true);
$objExcel->getSheet(1)->protectCells(‘A1:C22′, ‘PHPExcel’);
//*************************************
//输出内容
//
$outputFileName = “output.xls”;
//到文件
////$objWriter->save($outputFileName);
//or
//到浏览器
////header(“Content-Type: application/force-download”);
////header(“Content-Type: application/octet-stream”);
////header(“Content-Type: application/download”);
////header(‘Content-Disposition:inline;filename=”‘.$outputFileName.’”‘);
////header(“Content-Transfer-Encoding: binary”);
////header(“Expires: Mon, 26 Jul 1997 05:00:00 GMT”);
////header(“Last-Modified: ” . gmdate(“D, d M Y H:i:s”) . ” GMT”);
////header(“Cache-Control: must-revalidate, post-check=0, pre-check=0″);
////header(“Pragma: no-cache”);
////$objWriter->save(‘php://output’);
这个php的excel类库
是目前见到功能最好的。
以上引用自:
你用这个,浏览器就会提示下载了(chrome默认是保存在 我的文档/Downloads里,不会提示下载,不知算不算?^_^)
用PHP实现多个excel文件的合并(一个excel文件为一个sheet)可以使用vba编程代码
这个在网上可以找到
另外
最简单的
可以下载一个excelhome
易用宝
插件
然后加载到excel中
做批量合并与拆分的操作
关于php创建sheet的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php创建sheet php创建文件的详细内容...