当前位置: 首页 > 常见问题 > Excel表格

excel用php做表格,excel怎样快速做表格

  • Excel表格
  • 2023-08-16

excel用php做表格?所以工作的第一步就是要将数据从excel中取出来。这里我使用到了一个开源php处理excel类:phpexcel. 该项目的详细信息http://phpexcel.codeplex.com/。那么,excel用php做表格?一起来了解一下吧。

php制作表格

在工作中需要处理多语言的翻译指粗问题,翻译都是写在excel表格里面。为了处理方便我就保留中文和英文两列。

这样需要将这些数据从excel中取出来,然乎保存在excel的数组中,通过使用循环数组将相应的数据放入到数据库中。

所以工作的第一步就是要将数据从excel中取出来。这里我使用到了一个开源php处理excel类:phpexcel.

该项目的详细信息

http://phpexcel.codeplex.com/

我目前使用的是phpexcel1.7.3版本,

解压缩后里面有一个PHPExcel和PHPExcel.php文件。

我们主要使用那个PHP文件。蚂逗困见下图文件目录结构

这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持。于是乎我就将它转化为2003。感觉支持地很好。

下面介绍一下具体的使用:

复制代码

代码如下:

require_once('./phpexcel1.7.3/PHPExcel.php');

$php_excel_obj

=

new

PHPExcel();

$php_reader

=

newPHPExcel_Reader_Excel2007();

if(!$php_reader->canRead($file_name)){

$php_reader=

new

PHPExcel_Reader_Excel5();

if(!$php_reader->canRead($file_name)){

echo'NO

Excel!';

}

}

$php_excel_obj

=

$php_reader->load($file_name);

$current_sheet

=$php_excel_obj->getSheet(0);

上面的主要功能是初始化相关的excel类,并装载excel第一个sheet

复制代码

代码如下:

$all_column

=$current_sheet->getHighestColumn();

$all_row

=$current_sheet->getHighestRow();

以上分别获得该表格的最大列值(字母表示如:‘G'),和最大的行数(数值表示)

下面将使用循环来讲excel里面的数据读到excel中:

复制代码

代码如下:

$all_arr

=

array();

$c_arr

=

array();

//字符对照表

for($r_i

=

1;

$r_i<=$all_row;

$r_i++){

$c_arr=

array();

for($c_i=

'A';

$c_i<=

'B';

$c_i++){

$adr=

$c_i

.

$r_i;

$value=

$current_sheet->getCell($adr)->getValue();

if($c_i==

'A'

&&

empty($value)

)

break;

if(is_object($value))

$value=

$value->__toString();

$c_arr[$c_i]=

$value;

}

$c_arr&&

$all_arr[]

=

$c_arr;

}

下面简单地介绍一下phpexcel的写操作,这个操作经常用于将数据库中的数据导入到excel中,便于展示和做成更美观的效果。

用wps怎么做表格

php header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:attachment;filename=test_data.xls");$tx=’表局陆头’; echo $tx."nn"; //输桐悄顷出内容如下: echo "姓名"."t"; echo "年龄"."t"; echo "学历"."t";echo "n";echo "张三"."t"; echo "25"."t"; echo "本科"."t"; >如运橡果你一定要输入xls标准的excel文件可参考下面方法/** * 输出XLS的头信息 * 注:使用此函数前后都不应有任何数据输出

怎么做一个表格

对于任何一个网站肯定是少不了功能,常见的功能有图片、、Excel表格,如果文件比较小的话,那么不会遇到任何的问题,但是当文件信息而超明银过了PHP的最大内存,那么在这个时候它就会有的内存溢出的问题。

那么它们是因为什么而发生的?对于这个过程的原理才是埋碧我们应该真正要去弄明白的事情

大数据量的EXCEL文件为何要报错?

PHP在大Excel表格的时候,那么首先它是需要去把MySQL的数据从硬盘上面读取到内存,但读取它是一次性载入到我们的内存,如果说它一次性载入的数据量远远大于最大内存,然后再来执行浏览器的业务。那么这个时候它就会发生我们这个内存溢出。

就比如:说我们现在有100M的数据量,但是我们PHP内存最大只有64M,那么这个它肯定是装不了的,我们可以把那个内存比喻为一个水杯,这个水杯的容量比喻为内存,现在杯子最大容量为64L。你要存放100L。肯定放不下

大事化小,小事化了。拆分成段

从上面可以看到文件,它是分为两步,首先是载入内存然后执行浏览器的输出,那么既然大型文件一次性载入不了,那可以采用“大事化小,小事化了”思路,我们可以实现边写边,也激液宴就是分批次的读取与写入。

excel表头怎么做

根据下列编码程序可以。

1./*** 批量导出数据* @param $arr 从数据库查询罩庆出来,即要导出的数据* $name excel表歌名*/

2.function expExcel($arr,$name){require_once 'PHPExcel.php';

3. //实例化$objPHPExcel = new PHPExcel();/*右键属手洞性所显示的信息*/

4.$objPHPExcel->getProperties()->setCreator("zxf") //->setLastModifiedBy("zxf") //最后一 ->setTitle('数据EXCEL导出') //标题->setSubject('数据EXCEL导出') //主题>setDescription('导物薯握出数据') //描>setKeywords("excel")//标记>setCategory("result file"); //类别

5. //设置当前的表格$objPHPExcel->setActiveSheetIndex(0);// 设置表格第一行显示内容$objPHPExcel->getActiveSheet() ->setCellValue('A1', '业主姓名')->setCellValue('B1', '密码')->setCellValue('C1', '手机号码' ->setCellValue('D1', '地址')

6.//设置第一行为红色字体->getStyle('A1:D1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);$key = 1;/*以下就是对处理Excel里的数据。

excel表格标题怎么做

PHP如何实现表格Excel的导出

首先PHPExcel包并将包引入到项目中;然后实例化PHPExcel对象;接着设置表格的列,以及列队属性;再将数据添加到表格中;最后将表格文件数据输出即可。

PHPExcel

是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格

ThinkPHP示例

public function exportExcel()

{

//先获取数据

$where['comid'] = session('uid');

$res = M('cheliang')->where($where)->select();

// var_dump($res);die;

//下面就是导出的步骤了

vendor('PHPExcel0.Classes.PHPExcel');

$objPHPExcel = new PHPExcel();

$objPHPExcel->createSheet(0);

$objPHPExcel->setActiveSheetIndex(0);

//只需要把你想要的字段改成你自己需要的就可以了!!!

$objPHPExcel->setActiveSheetIndex(0)

->setCellValue('A1', '考试人')

->setCellValue('B1', '车牌')

->setCellValue('C1', '考试时间')

->setCellValue('D1', '考试分数')

->setCellValue('E1', '签名');

$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);//设置单元格宽度

$objPHPExcel->getActiveSheet()->getColumnDimension('C'巧首)->setWidth(50);//设置单元格宽度

$objPHPExcel->getActiveSheet()->getColumnDimension('D'孝早数)->setWidth(20);//设置单元格宽度

$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);//设置单元格宽度

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

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

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

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

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

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

// 设置垂直居中

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

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

$objPHPExcel->getActiveSheet()->getStyle('C1')->睁如getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

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

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

// 设置行高度

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

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

//循环添加数据,注意的是下面的$kk+2,是因为$kk是下标,从0开始的,而第一行是你的标题,所以要从第二行开始才是你的数据

foreach ($data as $kk => $vv) {

$no = $kk + 2;

$currentSheet = $objPHPExcel->getActiveSheet();

$currentSheet->setCellValue('A' . $no, $vv['xueyuan']['name']);

$currentSheet->setCellValue('B' . $no, $vv['xueyuan']['chepaihao']);

$currentSheet->setCellValue('C' . $no, date('Y-m-d H:i:s',$vv['addtime']).'至'.date('Y-m-d H:i:s',$vv['sbttime']));

$currentSheet->setCellValue('D' . $no, $vv['score']);

//设置单元格高度,这个是重点哦

$currentSheet->getRowDimension($no) -> setRowHeight(40);

// 图片生成

$objDrawing[$kk] = new PHPExcel_Worksheet_Drawing();//这个就是生成图片的类(重点)

$objDrawing[$kk]->setPath('./'.$vv['qmimg']);/图片的路径

// 设置宽度高度

$objDrawing[$kk]->setHeight(85);//照片高度

$objDrawing[$kk]->setWidth(100); //照片宽度

/*设置图片要插入的单元格*/

$objDrawing[$kk]->setCoordinates('E'.$no);

// 图片偏移距离

$objDrawing[$kk]->setOffsetX(12);

$objDrawing[$kk]->setOffsetY(12);

$objDrawing[$kk]->setWorksheet($objPHPExcel->getActiveSheet());

}

$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做表格的全部内容,'D:\Zeal\PHP_LIBS' . PATH_SEPARATOR .get_include_path());/ 以下是使用示例,对于以 /// 开头的行是不同的可选方式,请根据实际需要 打开对应行的注释。如果使用 Excel5 ,输出的内容应该是GBK编码。

猜你喜欢