好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php合并excel php文件合并

很多站长朋友们都不太清楚php合并excel,今天小编就来给大家整理php合并excel,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 phpexcel读取合并单元格的值 2、 用PHP实现多个excel文件的合并(一个excel文件为一个sheet) 3、 如何将多个格式一样的excel文件合并为一个 4、 thinkphp 导出excel 怎么合并单元格 phpexcel读取合并单元格的值

总结 php导出Excel php导入Excel PhpExcel使用说明 PhpExcel使用手册2009/03/06 上午 02:37方法一:特点,简单,省心,

<?php

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:attachment;filename=test_data.xls");

$tx='表头';

echo $tx."\n\n";

//输出内容如下:

echo "姓名"."\t";

echo "年龄"."\t";

echo "学历"."\t";

echo "\n";

echo "张三"."\t";

echo "25"."\t";

echo "本科"."\t";

?>

方法二: 引用google code中推荐的小类库(大体同方法一,比较复杂点)

方法三: PHPEXCEL 类库,功能强大,支持win Excel2003 ,Win Excel2007.

<?

//设置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("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 == 0x0500) { (第363行附近)前面增加一

用PHP实现多个excel文件的合并(一个excel文件为一个sheet)

可以使用vba编程代码

这个在网上可以找到

另外

最简单的

可以下载一个excelhome

易用宝

插件

然后加载到excel中

做批量合并与拆分的操作

如何将多个格式一样的excel文件合并为一个

示例操作步骤如下:

1、首先把需要合并的excel文件归类在一个文件夹中方便查找选择。

2、打开excel表格,然后依次点击excel表格中数据——合并表格——多个工作表合并成一个工作表。

3、然后在弹出对话框中点击”添加文件“,把需要合并的excel表格添加到文件中。

4、接着取消勾选新建的excel表,并在左下方的选项中设置表格标题的行数为1,然后点击”开始合并“。

5、合并完成之后,会出现两个工作簿,其中一个显示数据合并是否成功,另外一个是合并后存放所有数据的工作簿。

thinkphp 导出excel 怎么合并单元格

PHPexcel导出_带合并单元格/边框背景/_有效果图_thinkphp

##供稿单位导出

public function gonggao_excel(){

$color='0xCC000000';

//查询所有供稿单位

$order='paixu asc,id desc';

$where=array('token'=>$this->token,'status'=>'1');

$data=M('gonggao')->where($where)->order($order)->select();

//增加供稿单位的文章数量

foreach ($data as $key => $value) {

$data[$key]['shuliang']=M('img')->where(array('gonggaoid'=>$value['id']))->count();

$data[$key]['title']=M('img')->where(array('gonggaoid'=>$value['id']))->getfield('title',true);

}

// //查询出所有行数

// $all_count=0;

// foreach ($data as $key => $value) {

// if(!empty($value['title'])){

// $all_count=$all_count+count($value['title']);

// }else{

// $all_count++;

// }

//重组数组

foreach ($data as $key => $value) {

if(!empty($value['title'])){

foreach ($value['title'] as $k => $v) {

$newData[]=$v;

}

}else{

$newData[]='';

}

}

//dump($newData);

//dump($data);

//die;

// 引用phpexcel类

import('Lib/ORG/PHPExcel');

// 创建对象

$objPHPExcel = new PHPExcel();

// 显示错误信息

error_reporting(E_ALL);

// Set properties

$objPHPExcel->getProperties()->setCreator("赵英杰")

->setLastModifiedBy("赵英杰")

->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");

// 设置宽度

$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);

$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(40);

$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);

$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(60);

// 设置行高度

$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(20); //设置默认行高

$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(30); //第一行行高

$objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(20); //第二行行高

// 字体和样式

$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(12); //字体大小

$objPHPExcel->getActiveSheet()->getStyle('A2:D2')->getFont()->setBold(false); //第二行是否加粗

$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true); //第一行是否加粗

$objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setSize(16); //第一行字体大小

// 设置垂直居中

$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

$objPHPExcel->getActiveSheet()->getStyle('A2:D2')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

//边框样式

$styleArray = array(

'borders' => array(

'allborders' => array(

//'style' => PHPExcel_Style_Border::BORDER_THICK,//边框是粗的

'style' => PHPExcel_Style_Border::BORDER_THIN,//细边框

'color' => array('argb' => $color),

),

),

);

$objPHPExcel->getActiveSheet()->getStyle('A2:D2')->applyFromArray($styleArray);

//边框

//$objPHPExcel->getActiveSheet()->getStyle('A2:D2')->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

// 设置水平居中

$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$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('C')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

// 合并

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

// 表头

$objPHPExcel->setActiveSheetIndex(0)

->setCellValue('A1', '供稿单位文章统计')

->setCellValue('A2', '编号')

->setCellValue('B2', '供稿单位')

->setCellValue('C2', '文章数量')

->setCellValue('D2', '文章名称');

// 内容

// for ($i = 0, $len = count($data); $i < $len; $i++) {

// $objPHPExcel->getActiveSheet(0)->setCellValue('A' . ($i + 3), $i);

// $objPHPExcel->getActiveSheet(0)->setCellValue('B' . ($i + 3), $data[$i]['gonggao']);

// $objPHPExcel->getActiveSheet(0)->setCellValue('C' . ($i + 3), $data[$i]['shuliang']);

// $objPHPExcel->getActiveSheet(0)->setCellValue('D' . ($i + 3), $data[$i]['status']);

// $objPHPExcel->getActiveSheet()->getStyle('A' . ($i + 3) . ':D' . ($i + 3))->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

// $objPHPExcel->getActiveSheet()->getStyle('A' . ($i + 3) . ':D' . ($i + 3))->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

// $objPHPExcel->getActiveSheet()->getRowDimension($i + 3)->setRowHeight(16);

// }

//重构内容-文章名称录入

for ($i = 0, $len = count($newData); $i < $len; $i++) {

$objPHPExcel->getActiveSheet(0)->setCellValue('D' . ($i + 3), $newData[$i]);

$objPHPExcel->getActiveSheet()->getStyle('A' . ($i + 3) . ':D' . ($i + 3))->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

//左对齐

$objPHPExcel->getActiveSheet()->getStyle('D')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);

//边框设置

//$objPHPExcel->getActiveSheet()->getStyle('A' . ($i + 3) . ':D' . ($i + 3))->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

// $objPHPExcel->getActiveSheet()->getRowDimension($i + 3)->setRowHeight(16); //重构行高

$objPHPExcel->getActiveSheet()->getStyle('A' . ($i + 3) . ':D' . ($i + 3))->applyFromArray($styleArray);

}

// //查询出所有行数

// $all_count=0;

// foreach ($data as $key => $value) {

// if(!empty($value['title'])){

// $all_count=$all_count+count($value['title']);

// }else{

// $all_count++;

// }

//合并对应单元格并录入编号/供稿单位/数量。

$ii=3;//从第三行开始的

for ($i = 0, $len = count($data); $i < $len; $i++) {

if(count($data[$i]['title'])>0){

//合并 注意-1,因为当前单位有内容且是第一篇

$objPHPExcel->getActiveSheet()->mergeCells('A' . ($ii) . ':A' . ($ii-1+count($data[$i]['title']) ));

$objPHPExcel->getActiveSheet()->mergeCells('B' . ($ii) . ':B' . ($ii-1+count($data[$i]['title']) ));

$objPHPExcel->getActiveSheet()->mergeCells('C' . ($ii) . ':C' . ($ii-1+count($data[$i]['title']) ));

//录入记录

$objPHPExcel->getActiveSheet(0)->setCellValue('A' . ($ii), $i+1);

$objPHPExcel->getActiveSheet(0)->setCellValue('B' . ($ii), $data[$i]['gonggao']);

$objPHPExcel->getActiveSheet(0)->setCellValue('C' . ($ii), count($data[$i]['title']));

//居中

$objPHPExcel->getActiveSheet()->getStyle('A' . ($ii))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel->getActiveSheet()->getStyle('B' . ($ii))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel->getActiveSheet()->getStyle('C' . ($ii))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$ii=$ii-1+count($data[$i]['title']);

$ii++;

}else{

//录入记录

$objPHPExcel->getActiveSheet(0)->setCellValue('A' . ($ii), $i+1);

$objPHPExcel->getActiveSheet(0)->setCellValue('B' . ($ii), $data[$i]['gonggao']);

$objPHPExcel->getActiveSheet(0)->setCellValue('C' . ($ii), count($data[$i]['title']));

//居中

$objPHPExcel->getActiveSheet()->getStyle('A' . ($ii))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel->getActiveSheet()->getStyle('B' . ($ii))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$objPHPExcel->getActiveSheet()->getStyle('C' . ($ii))->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

$ii++;

}

}

// Rename sheet

$objPHPExcel->getActiveSheet()->setTitle('供稿单位文章统计');

// Set active sheet index to the first sheet, so Excel opens this as the first sheet

$objPHPExcel->setActiveSheetIndex(0);

// 输出

header('Content-Type: application/vnd.ms-excel');

header('Content-Disposition: attachment;filename="' . '供稿单位' . '.xls"');

header('Cache-Control: max-age=0');

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

$objWriter->save('php://output');

exit;

}

关于php合并excel的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php合并excel php文件合并的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did210685
更新时间:2023-05-03   阅读:87次

上一篇: phpip统计 php怎么统计网站数据分析

下一篇:phpktv管理系统 winformktv管理系统

相关资讯

最新资料更新

  • 1.php跳转url源码 网页跳转源码
  • 2.php7.1des加密 php7 加密
  • 3.php浏览页面乱码 php页面字符出现乱码怎么解决
  • 4.phptoast弹框 php 弹框
  • 5.php技术网学习 php技术门户
  • 6.bin里面没有php bin里面没有xsync
  • 7.php怎么使用css php怎么使用数据库锁
  • 8.iPad上装php iPad上装修建模app
  • 9.php文件工具类 php文件处理
  • 10.phpml源码安装 下载了个php源码包,怎么使用
  • 11.包含Zend转php的词条
  • 12.php如何制作游戏 php游戏源码
  • 13.php生成uuid php生成随机6位数
  • 14.php余数1 php math
  • 15.php导出cvs php导出csv大数据
  • 16.长沙php就业怎样 2021年php就业班
  • 17.php判断多个数字 php判断字符串是否为数字
  • 18.php提示重复提交 php api防止重复提交
  • 19.php带协议跳转 php跳转函数
  • 20.php视频教程知乎 php视频项目视频教程

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]