Php生成Excel文件如此简单
- 格式:doc
- 大小:46.00 KB
- 文档页数:7
本文由我司收集整编,推荐下载,如有疑问,请与我司联系为何我用PHP 生成的Excel 文件不提示下载保存到本地机而是直接在Web 页面上打开?2003/01/10 10 header(“Content-type:application/vnd.ms-excel”);header(“Content- Disposition:filename=test.xls”);echo”test1\t”;echo”test2\t\n”;echo”test1\t”; echo”test2\t\n”;echo”test1\t”;echo”test2\t\n”;echo”test1\t”;echo”test2\t\n”; echo”test1\t”;echo”test2\t\n”;echo”test1\t”;echo”test2\t\n”; ? 请问用php 能对导出的Excel 文件略加修饰吗?比如增加页眉,字体设计等. ?php $workbook=“C:ProgramFilesMicrosoftofficeOfficeSamplesSOLVSAMP.XLS”;$sheet=“QuickTour”;$ex=newCOM(“Excel.sheet”)orDie(“Didnotconnect”);print”程序名称:{$ex- Application- value} BR “;print”版本:{$ex- Application- version} BR $wkb=$ex- application- Workbooks- Open($workbook)orDie(“Didnotopen”);$ex- Application- ActiveWorkbook- SaveAs(“Ourtest”); #$ex- Application- Visible=1;#去掉注释可以让Excel 可见#读取一个单元格的内容(E11)$sheets=$wkb- Worksheets($sheet);#选择工作表$sheets- activate;#激活$cell=$sheets- Cells(11,5);#选择单元格(行列号)$cell- activate;#激活print”OldValue={$cell- value} BR #打印内容:10000 $cell- value=15000;#改为15000 print”Newvalue={$cell- value} BR “;#打印新内容:15000 #最后,重新计算工作表$sheets- Calculate;#当计算选项是手工时需要#看看结果totalcost(单元格E13) $cell=$sheets- Cells(13,5);#选择单元格$number=Number_format($cell- value); print”NewTotalcost=$$number- was$47,732before. BR #将会打印$57,809 #使用Excel 的内置函数:#Function:PMT(percent/12months,Numberofpayments,Loanamount) $pay=$ex- application- pmt(0.08/12,10,10000); $pay=sprintf(“%.2f”,$pay); print”Monthlypaymentfor$10,000loan@8%interest/10months:$$pay BR #将会打印monthlypayment=$-1,037.03 #保存改过的工作簿$ex- Application- ActiveWorkbook- SaveAs(“Ourtest”);#关闭所有工作簿$ex- application-。
PHP导出Excel的类库—PHPExcel,支持附带图片PHP导出Excel的类库—PHPExcel,支持附带图片PHP导出Excel比较简单的办法有:一、直接通过PHP的header来导出Excel。
view sourceprint?01.header("Content-type:application/vnd.ms-excel");02.header("Content-Disposition:attachment;filename=excel_data.xls");03.04.$tx='HEADER';05.echo $tx."\n\n";06.//输出内容如下:07.echo "Name"."\t";08.echo "Age"."\t";09.echo "\n";10.echo "lilei"."\t";11.echo "25"."\t";二、采用Excel_XML类。
Excel_XML是一个简单的PHP导出XML格式Excel的类。
下载地址:/p/php-excel/downloads/list使用方法:view sourceprint?01.// load library02.require 'php-excel.class.php';03.04.// create a simple 2-dimensional array05.$data = array(06.1 => array ('Name', 'Surname'),07.array('Schwarz', 'Oliver'),08.array('Test', 'Peter')09.);10.11.// generate file (constructor parameters are optional)12.$xls = new Excel_XML('UTF-8', false, 'My Test Sheet');13.$xls->addArray($data);14.$xls->generateXML('my-test');以上两种是比较简单的导出Excel的方法,但功能不够强大,只能满足一般的需求。
php导出大量数据的方法在Web开发中,经常会遇到导出大量数据的需求,例如从数据库中导出表格数据、生成Excel报表等。
本文将介绍几种使用PHP导出大量数据的方法,帮助您在实际项目中快速处理这类需求。
一、将数据导出为CSV文件CSV(逗号分隔值)是一种常用的数据交换格式,它的优点是简单、易读,适用于大多数数据导出场景。
以下是使用PHP将数据导出为CSV文件的示例代码:```php<?php// 设置HTTP头,告诉浏览器下载文件header('Content-Type: text/csv');header('Content-Disposition: attachment; filename="data.csv"');// 打开输出流$fp = fopen('php://output', 'w');// 查询数据库获取数据$data = []; // 假设这里是数据库查询的结果// 写入CSV文件头部fputcsv($fp, array_keys($data[0]));// 逐行写入数据foreach ($data as $row) {fputcsv($fp, $row);}// 关闭输出流fclose($fp);>```上述代码首先设置了HTTP头,告诉浏览器将要下载一个CSV文件。
然后,使用`fopen()`打开输出流,指定使用`php://output`作为文件路径,这样就可以直接将数据输出到浏览器。
接着,通过`fputcsv()`函数将表头和数据按CSV格式写入文件。
最后,使用`fclose()`关闭输出流。
二、将数据导出为Excel文件除了导出CSV文件,我们还可以使用PHP将数据导出为Excel文件(xls或xlsx格式)。
这需要借助第三方库,如PHPExcel或PhpSpreadsheet。
基于php导出到Excel或CSV的详解(附utf8、gbk编码转换)php导⼊到excel乱码是因为utf8编码在xp系统不⽀持所有utf8编码转码⼀下就完美解决了Php代码复制代码代码如下:<?phpheader("Content-Type: application/vnd.ms-excel; charset=UTF-8");header("Pragma: public");header("Expires: 0");header("Cache-Control: must-revalidate, post-check=0, pre-check=0");header("Content-Type: application/force-download");header("Content-Type: application/octet-stream");header("Content-Type: application/download");header("Content-Disposition: attachment;filename=11.xls ");header("Content-Transfer-Encoding: binary ");>Php代码复制代码代码如下:<?$filename="php导⼊到excel-utf-8编码";$filename=iconv("utf-8", "gb2312", $filename);echo $filename;>Php代码复制代码代码如下:<?phpheader("Content-Type: application/vnd.ms-excel; charset=UTF-8");header("Pragma: public");header("Expires: 0");header("Cache-Control: must-revalidate, post-check=0, pre-check=0");header("Content-Type: application/force-download");header("Content-Type: application/octet-stream");header("Content-Type: application/download");header("Content-Disposition: attachment;filename=11.xls ");header("Content-Transfer-Encoding: binary ");>Php代码复制代码代码如下:0.<?0.$filename="php导⼊到excel-utf-8编码";0.echo $filename;0.?>访问⽹站的时候就下载到excel⾥⾯要弄单元格区别的话⽤table表格做⽹页的就可以了====================== 其他⽅法 =============================复制代码代码如下:0.<?php0.header("Content-type:application/vnd.ms-excel");0.header("Content-Disposition:filename=php2excel.xls");0.echo "A1/t B1/t C1/n";0.echo "A2/t B2/t C2/n";0.echo "A3/t B3/t C3/n";0.echo "A4/t B4/t C4/n";0.?>复制代码代码如下:<?php$action =$_GET['action'];if ($action=='make'){$fp = fopen("demo_csv.csv","a"); //打开csv⽂件,如果不存在则创建$title = array("First_Name","Last_Name","Contact_Email","Telephone"); //第⼀⾏数据$data_1 = array("42343","423432","4234","4234");$data_2 = array("4234","Last_Name","Contact_Email","Telephone");$title = implode(",",$title); //⽤ ' 分割成字符串$data_1 = implode(",",$data_1); // ⽤ ' 分割成字符串$data_2 = implode(",",$data_2); // ⽤ ' 分割成字符串$data_str =$title."/r/n".$data_1."/r/n".$data_2."/r/n"; //加⼊换⾏符fwrite($fp,$data_str); // 写⼊数据fclose($fp); //关闭⽂件句柄echo "⽣成成功";}echo "<br>";echo "<a href='?action=make'>⽣成csv⽂件</a>";>也可以做⼀个封闭函数:复制代码代码如下:function exportToCsv($csv_data, $filename = 'export.csv') {$csv_terminated = "/n";$csv_separator = ",";$csv_enclosed = '"';$csv_escaped = "//";// Gets the data from the database$schema_insert = '';$out = '';// Format the dataforeach ($csv_data as $row){$schema_insert = '';$fields_cnt = count($row);//printr($row);$tmp_str = '';foreach($row as $v){$tmp_str .= $csv_enclosed.str_replace($csv_enclosed, $csv_escaped . $csv_enclosed, $v).$csv_enclosed.$csv_separator;} // end for$tmp_str = substr($tmp_str, 0, -1);$schema_insert .= $tmp_str;$out .= $schema_insert;$out .= $csv_terminated;} // end whileheader("Cache-Control: must-revalidate, post-check=0, pre-check=0");header("Content-Length: " . strlen($out));header("Content-type: text/x-csv");header("Content-Disposition:filename=$filename");echo $out;/*$csv_data = array(array('Name', 'Address'));array_push($csv_data, array($row['name'],$row['address']));...exportToCsv($csv_data,'new_file.csv');*/复制代码代码如下:<?/*** Simple class to properly output CSV data to clients. PHP 5 has a built* in method to do the same for writing to files (fputcsv()), but many times* going right to the client is beneficial.** @author Jon Gales*/class CSV_Writer {public $data = array();public $deliminator;/*** Loads data and optionally a deliminator. Data is assumed to be an array* of associative arrays.** @param array $data* @param string $deliminator*/function __construct($data, $deliminator = ","){if (!is_array($data)){throw new Exception('CSV_Writer only accepts data as arrays');}$this->data = $data;$this->deliminator = $deliminator;}private function wrap_with_quotes($data){$data = preg_replace('/"(.+)"/', '""$1""', $data);return sprintf('"%s"', $data);}/*** Echos the escaped CSV file with chosen delimeter** @return void*/public function output(){foreach ($this->data as $row){$quoted_data = array_map(array('CSV_Writer', 'wrap_with_quotes'), $row); echo sprintf("%s/n", implode($this->deliminator, $quoted_data));}}/*** Sets proper Content-Type header and attachment for the CSV outpu** @param string $name* @return void*/public function headers($name)header('Content-Type: application/csv');header("Content-disposition: attachment; filename={$name}.csv");}}/*//$data = array(array("one","two","three"), array(4,5,6));$data[] = array("one","two","three");$data[] = array(4,5,6);$csv = new CSV_Writer($data);$csv->headers('test');$csv->output();*/复制代码代码如下:<?phprequire_once 'Spreadsheet/Writer.php';$workbook = new Spreadsheet_Excel_Writer();/* ⽣成 CSV$filename = date('YmdHis').'.csv';$workbook->send($filename); // 发送 Excel ⽂件名供下载*/// ⽣成 Excel$filename = date('YmdHis').'.xls';$workbook->send($filename); // 发送 Excel ⽂件名供下载$workbook->setVersion(8);$workbook->setBIFF8InputEncoding('UTF-8');$worksheet =& $workbook->addWorksheet("Sheet-1");$data[]= array('id','username','company','email','mob','daytime','intent');$data[] = array(1,'⽼梁','**⼯作室','','1363137966*',time(),'y');$total_row = count($data);$total_col = count($data[0]);for ($row = 0; $row < $total_row; $row ++) {for ($col = 0; $col < $total_col; $col ++) {$worksheet->writeString($row, $col, $data[$row][$col]); // 在 sheet-1 中写⼊数据 }}/*$worksheet =& $workbook->addWorksheet("Sheet-2");$data[]= array('id','username','company','email','mob','daytime','intent');$data[] = array(1,'⽼梁','**⼯作室','','1363137966*',time(),'y');$total_row = count($data);$total_col = count($data[0]);for ($row = 0; $row < $total_row; $row ++) {for ($col = 0; $col < $total_col; $col ++) {$worksheet->writeString($row, $col, $data[$row][$col]); // 在 sheet-2 中写⼊数据 }}*/$workbook->close(); // 完成下载>读取Excel⽂件function Read_Excel_File($ExcelFile,$Result)$ExcelFile Excel⽂件名$Result 返回的结果函数返回值正常返回0,否则返回错误信息返回的值数组$result[sheet名][⾏][列] 的值为相应Excel Cell的值function Create_Excel_File($ExcelFile,$Data) $ExcelFile Excel⽂件名$Data Excel表格数据请把函数写在PHP脚本的开头例1:复制代码代码如下:<?require "excel_class.php";Read_Excel_File("Book1.xls",$return);for ($i=0;$i<count($return[Sheet1]);$i++){for ($j=0;$j<count($return[Sheet1][$i]);$j++) {echo $return[Sheet1][$i][$j]."|";}echo "<br>";}>例2:复制代码代码如下:<?require "excel_class.php";Read_Excel_File("Book1.xls",$return); Create_Excel_File("ddd.xls",$return[Sheet1]); >。
PHP如何导入导出Excel1:利用smarty,生成符合Excel规范的XML或HTML文件支持格式,非常完美的导出方案。
不过导出来的的本质上还是XML文件,如果用来导入就需要另外处理了。
需要注意的是如果导出的表格行数不确定时,最好在模板中把”ss:ExpandedColumnCount=”5″ ss:ExpandedRowCount=”21″”之类的东西删掉。
2、利用pack函数打印出模拟Excel格式的断句符号,这种更接近于Excel标准格式,用office2003修改后保存,还不会弹出提示,推荐用这种方法。
缺点是无格式。
PHP代码<?php// Send Header header(”Pragma: public”); header(”Expires: 0″);header(”Cache-Control: must-revalidate, post-check=0, pre-check=0″);header(”Content-Type: application/force-download”);header(”Content-Type: application/octet-stream”);header(”Content-Type: application/download”);;header(”Content-Disposition:attachment;filename=test.xls “);header(”Content-Transfer-Encoding: binary “);// XLS Data Cell xlsBOF();xlsWriteLabel(1,0,”My excel line one”);xlsWriteLabel(2,0,”My excel line two : “);xlsWriteLabel(2,1,”Hello everybody”);xlsEOF(); function xlsBOF() { echo pack(”ssssss”, 0×809, 0×8, 0×0, 0×10, 0×0, 0×0); return; }function xlsEOF() { echo pack(”ss”, 0×0A, 0×00); return; }function xlsWriteNumber($Row, $Col, $Value) { echo pack(”sssss”, 0×203, 14, $Row, $Col, 0×0); echo pack(”d”, $Value); return; }function xlsWriteLabel($Row, $Col, $Value ) { $L = strlen($Value); echo pack(”ssssss”, 0×204, 8 + $L, $Row, $Col, 0×0, $L); echo $Value; return; } ?>不过在64位linux系统中使用时失败了,断句符号全部变成了乱码。
php利用PHPExcel类导出导入Excel用法PHPExcel类是php一个excel表格处理插件了,下面我来给大家介绍利用PHPExcel类来导入与导出excel表格的应用方法,有需要了解的朋友不防参考参考(PHPExcel自己百度下载这里不介绍了)。
导出Excel用法//设置环境变量(新增PHPExcel)代码如下复制代码set_include_path('.'. PATH_SEPARATOR . Yii::app()->basePath.'/lib/PHPExcel' .PATH_SEPARATOR .get_include_path());//注:在yii中,也可以直接Yii::import(“application.lib.PHPExcel.*”);//引入PHPExcel相关文件require_once "PHPExcel.php";require_once 'PHPExcel/IOFactory.php';require_once 'PHPExcel/Writer/Excel5.php';//把要导出的内容放到表格代码如下复制代码//新建$resultPHPExcel = new PHPExcel();//设置参数//设值$resultPHPExcel->getActiveSheet()->setCellValue('A1', '季度');$resultPHPExcel->getActiveSheet()->setCellValue('B1', '名称');$resultPHPExcel->getActiveSheet()->setCellValue('C1', '数量');$i = 2;foreach($data as $item){$resultPHPExcel->getActiveSheet()->setCellValue('A' . $i, $item['quarter']); $resultPHPExcel->getActiveSheet()->setCellValue('B' . $i, $item['name']); $resultPHPExcel->getActiveSheet()->setCellValue('C' . $i, $item['number']);$i ++;}设置导出参数代码如下复制代码//设置导出文件名$outputFileName = 'total.xls';$xlsWriter = new PHPExcel_Writer_Excel5($resultPHPExcel);//ob_start(); ob_flush();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");$xlsWriter->save( "php://output" );输出有错。
使用php导出excel时处理复杂表头的万能方法处理复杂表头时,使用PHP导出Excel表格的方法在使用PHP导出Excel表格时,当表头比较复杂时,可能会遇到一些困难。
然而,有一种简单而有效的方法可以处理这种情况。
首先,我们需要将表头信息保存在一个数组中。
该数组中的每个元素代表一个表头。
例如,我们可以使用以下代码定义一个包含复杂表头的数组:$tableHeaders = [['A1', 'B1', 'C1'],['A2', 'B2', 'C2'],['A3', 'B3', 'C3']];接下来,我们需要使用递归函数来合并和展开表头。
这样可以确保表头在导出Excel时正确格式化。
function mergeHeaders($headers, &$result, $startColumn = 0, $startRow = 0) {$maxRow = 1;foreach ($headers as $rowIndex => $headerRow) {foreach ($headerRow as $columnIndex => $headerCell) {$cell = $result->getActiveSheet()->getCellByColumnAndRow($columnIndex + $startColumn, $rowIndex + $startRow);$cell->setValue($headerCell);$maxRow = max($maxRow, $rowIndex + 1);}}$result->getActiveSheet()->mergeCellsByColumnAndRow($startColumn, $startRow, $startColumn + count($headers[0]) - 1, $startRow);if (count($headers) > 1) {mergeHeaders(array_slice($headers, 1), $result, $startColumn, $startRow + $maxRow);}}在上述代码中,mergeHeaders函数接受表头数组、Excel对象以及起始列和行作为参数。
Phpexcel是一个用于操作Excel的PHP库。
它提供了一组方法和功能,用于读取、写入和操作Excel文件。
以下是一些Phpexcel的基本用法:1.安装Phpexcel:首先,你需要使用Composer来安装Phpexcel。
在项目根目录下的composer.json文件中添加Phpexcel作为依赖项,并执行composer install命令来安装它。
2.3.创建Excel对象:使用PHPExcel_IOFactory类来创建一个Excel对象。
例如,要创建一个新的Excel文件,可以使用以下代码:4.php复制代码require_once'PHPExcel/IOFactory.php';$objPHPExcel= PHPExcel_IOFactory::createReaderForFile('path/to/your/file.xlsx'); 1.读取Excel文件:使用PHPExcel_IOFactory类的load()方法来读取Excel文件的内容。
例如,要读取一个名为data.xlsx的Excel文件,可以使用以下代码:2.php复制代码require_once'PHPExcel/IOFactory.php';$objPHPExcel = PHPExcel_IOFactory::load('path/to/your/data.xlsx');1.获取工作表:使用getActiveSheet()方法获取当前活动工作表。
例如,要获取第一个工作表,可以使用以下代码:2.php复制代码$sheet = $objPHPExcel->getActiveSheet();1.写入数据:使用setCellValue()方法将数据写入单元格。
例如,要将值123写入A1单元格,可以使用以下代码:2.php复制代码$sheet->setCellValue('A1', 123);1.保存Excel文件:使用save()方法将更改保存到Excel文件。
phpxlswriter 是一个用于创建和修改 Excel 文件的 PHP 扩展库,通过它可以轻松地生成各种格式的 Excel 表格。
在使用 phpexcelwriter 生成 Excel 表格时,我们经常会遇到表格宽度自动调整的需求。
本文将介绍如何在使用 phpexcelwriter 时实现表格宽度的自动调整。
一、什么是 phpexcelwriter?1. PHPExcelWriter 是一个用于生成和修改 Excel 文件的 PHP 扩展库,它提供了丰富的 API 和功能,能够满足各种 Excel 处理需求。
2. 通过 PHPExcelWriter,我们可以方便地创建和修改 Excel 文件,包括设置单元格内容、样式、合并单元格、设置宽度等操作。
3. 在生成 Excel 表格时,表格宽度的自动调整是一个常见需求,能够让表格在不同显示设备上有更好的显示效果。
二、使用 phpexcelwriter 实现表格宽度的自动调整1. 设置单元格内容和样式在使用 PHPExcelWriter 生成 Excel 表格时,首先需要设置单元格的内容和样式,包括字体、颜色、对齐方式等。
这些设置可以通过PHPExcelWriter 提供的 API 来实现,具体可以参考冠方文档或示例代码。
2. 设置表头和数据在生成表格时,通常会包含表头和数据两部分。
对于表头部分,我们可以根据表格的列数和内容来设置每个单元格的宽度;对于数据部分,可以根据实际数据的长度来动态调整每个单元格的宽度。
3. 自动调整表格宽度在设置完单元格内容和样式、表头和数据后,我们可以通过PHPExcelWriter 提供的自动调整宽度的功能来实现表格宽度的自动调整。
具体可以使用以下代码来实现:```php$sheet->calculateColumnWidths();```这行代码会根据单元格内容自动调整每列的宽度,使得表格显示更加美观和规整。
4. 导出 Excel 文件当设置完表格内容和宽度后,我们可以通过 PHPExcelWriter 提供的导出功能将表格保存为 Excel 文件,以便后续使用或共享。
phpoffice 手册PHPOffice是一个开源的PHP库,用于处理和操作Microsoft Office文件,如Word文档、Excel电子表格和PowerPoint演示文稿。
它提供了一组简单易用的API,可以帮助开发人员读取、创建和修改Office文件。
PHPOffice库由一系列不同的组件组成,每个组件都专门用于处理不同类型的Office文件。
以下是一些常用的PHPOffice组件及其功能:1. PHPWord:用于创建和操作Word文档。
它提供了一系列API,可以添加文本、图片、表格、列表、样式和格式等元素到Word文档中。
还可以合并、拆分和转换Word文档。
2. PHPSpreadsheet:用于创建和操作Excel电子表格。
它支持读取和写入Excel文件,并提供了丰富的API,可以设置单元格样式、公式、图表和数据透视表等。
还可以导入和导出多种格式的Excel文件。
3. PHPPresentation:用于创建和操作PowerPoint演示文稿。
它可以添加幻灯片、文本、图片、形状、图表和动画等元素到演示文稿中。
还可以导入和导出多种格式的PowerPoint文件。
使用PHPOffice库非常简单。
首先,你需要在你的项目中安装PHPOffice库,可以通过Composer来安装。
然后,你可以使用相应的组件来处理Office文件。
例如,如果你想创建一个新的Word文档,你可以使用PHPWord组件的API来添加内容和样式。
如果你想读取一个Excel文件,你可以使用PHPSpreadsheet组件的API来读取和处理数据。
除了上述的主要组件外,PHPOffice还提供了其他一些辅助组件,用于处理PDF文件、HTML转换和图像处理等。
你可以根据你的具体需求选择适合的组件。
总的来说,PHPOffice是一个强大且易用的PHP库,可以帮助开发人员处理和操作Microsoft Office文件。
它提供了一系列功能丰富的组件,可以满足各种Office文件处理的需求。
10个使用php xlswriter的案例php xlswriter是一个用于生成Excel文件的PHP扩展库,具有高效、灵活的特点。
下面列举了10个使用php xlswriter的案例,每个案例都包含了具体的实现方法和效果展示,旨在帮助读者更好地理解和使用该库。
1. 创建一个简单的Excel文件使用php xlswriter,可以轻松创建一个简单的Excel文件。
首先需要引入xlswriter类库,然后创建一个ExcelWriter对象,并指定文件名和路径。
接下来,可以使用addSheet方法添加一个工作表,并使用write方法在工作表中写入数据。
最后,使用close方法保存并关闭文件。
以下是一个示例代码:```phprequire_once 'path/to/xlswriter.php';$writer = new ExcelWriter('path/to/output.xlsx');$sheet = $writer->addSheet('Sheet1');$sheet->write(0, 0, 'Hello');$sheet->write(0, 1, 'World');$writer->close();```2. 设置单元格格式php xlswriter提供了丰富的方法来设置单元格的格式,包括字体、颜色、边框等。
可以使用setFont方法设置字体样式,使用setFormat方法设置单元格格式,使用setBorder方法设置边框样式。
以下是一个设置单元格格式的示例代码:```php$sheet->write(1, 0, 'Bold Text', $boldFormat);$sheet->write(2, 0, 'Red Text', $redFormat);$sheet->write(3, 0, 'Green Background', $greenBackgroundFormat);$sheet->write(4, 0, 'Top Border', $topBorderFormat);```3. 合并单元格使用php xlswriter,可以将多个单元格合并为一个单元格,以便创建更复杂的表格布局。
tp5使⽤PHPexcel扩展导出excel表1,使⽤composer安装phpexcel包:composer require phpoffice/phpexcel2,在控制器中创建⽅法:(1)使⽤PHPexcel扩展。
代码如下/*** 导出excel表格(默认格式)** @param array $columName 第⼀⾏的列名称* @param array $list ⼆维数组* @param string $setTitle sheet名称* @return* @author Tggui <tggui@>*/private function exportExcel1($columName, $list, $fileName='demo', $setTitle='Sheet1'){vendor('phpoffice.phpexcel.Classes.PHPexcel');vendor('phpoffice.phpexcel.Classes.PHPexcel.IOFactory');if ( empty($columName) || empty($list) ) {return '列名或者内容不能为空';}if ( count($list[0]) != count($columName) ) {return '列名跟数据的列不⼀致';}$fileName = iconv("utf-8", "gb2312", $fileName);//实例化PHPExcel类$PHPExcel = new \PHPExcel();//获得当前sheet对象$PHPSheet = $PHPExcel -> getActiveSheet();//定义sheet名称$PHPSheet -> setTitle($setTitle);//excel的列这么多够⽤了吧?不够⾃个加 AA AB AC ……$letter = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];//把列名写⼊第1⾏ A1 B1 C1 ...for ($i=0; $i < count($list[0]); $i++) {//$letter[$i]1 = A1 B1 C1 $letter[$i] = 列1 列2 列3$PHPSheet->setCellValue("$letter[$i]1","$columName[$i]");}//内容第2⾏开始foreach ($list as$key => $val) {//array_values 把⼀维数组的键转为0 1 2 3 ..foreach (array_values($val) as$key2 => $val2) {//$letter[$key2].($key+2) = A2 B2 C2 ……$PHPSheet->setCellValue($letter[$key2].($key+2),$val2);}}//⽣成2007版本的xlsx$PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel,'Excel2007');header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');header('Content-Disposition: attachment;filename='.$fileName.'.xlsx');header('Cache-Control: max-age=0');$PHPWriter->save("php://output");exit;}2),⾃定义函数,不使⽤PHPexcel扩展。
phpspreadsheet中⽂⽂档(四)创建电⼦表格+档案格式2019年10⽉11⽇14:01:48该Spreadsheet班该Spreadsheet班是PhpSpreadsheet的核⼼。
它包含对所包含⼯作表,⽂档安全性设置和⽂档元数据的引⽤。
为了简化PhpSpreadsheet概念:Spreadsheet该类表⽰您的⼯作簿。
通常,您可以通过以下两种⽅式之⼀创建⼯作簿,即从电⼦表格⽂件加载⼯作簿,或⼿动创建⼯作簿。
第三种⽅法虽然不那么常⽤,但它是克隆使⽤前⾯两种⽅法之⼀创建的现有⼯作簿。
从⽂件加载⼯作簿在“ ⽂档中完整描述了所⽀持的各种电⼦表格格式的详细信息以及可将其读⼊Spreadsheet对象的选项。
$inputFileName = './sampleData/example1.xls';/** Load $inputFileName to a Spreadsheet object **/$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);创建⼀个新的⼯作簿如果要创建⼀个新的⼯作簿,⽽不是从⽂件中加载⼀个⼯作簿,则只需将其实例化为⼀个新的电⼦表格对象。
/** Create a new Spreadsheet Object **/$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();始终将使⽤⼀个⼯作表创建⼀个新的⼯作簿。
从内存中清除⼯作簿PhpSpreadsheet对象包含循环引⽤(例如,⼯作簿链接到⼯作表,⽽⼯作表链接到其⽗⼯作簿),当PHP尝试从内存中清除对象时unset()或在函数结束时尝试从内存中清除对象时,会导致问题他们在当地范围内。
其结果是“内存泄漏”,它可以轻松使⽤⼤量PHP的有限内存。
这只能⼿动解决:如果您需要取消设置⼯作簿,则还需要先“破坏”这些循环引⽤。
phpoffice excel 用法PHPOffice Excel是一个用于处理Excel文件的PHP库。
它提供了一种简单的方法来读取、写入和操作Excel文件。
在本文中,我们将介绍如何使用PHPOffice Excel来处理Excel文件。
我们需要安装PHPOffice Excel库。
可以通过Composer来安装,只需要在终端中运行以下命令:```composer require phpoffice/phpspreadsheet```安装完成后,我们可以开始使用PHPOffice Excel来处理Excel文件。
读取Excel文件要读取Excel文件,我们需要使用IOFactory类。
以下是一个简单的示例:```use PhpOffice\PhpSpreadsheet\IOFactory;$reader = IOFactory::createReader('Xlsx');$spreadsheet = $reader->load('example.xlsx');$worksheet = $spreadsheet->getActiveSheet();$highestRow = $worksheet->getHighestRow();$highestColumn = $worksheet->getHighestColumn();for ($row = 1; $row <= $highestRow; $row++) {$rowData = $worksheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);print_r($rowData);}```在上面的示例中,我们首先创建了一个IOFactory实例,并使用createReader方法来创建一个Xlsx读取器。
[phpexcel]PHP导出EXCEL快速开发指南phpexcel有专有的开发文档,详细操作请参考其开发文档,本文档只是对其在使用上作了优化整合,便于在新项目中快速开发。
phpexcel生成文件同样有两种方式,一种方式为直接输出,一种方式为生成静态文件。
直接输出:主文件为(class目录的同目录文件):<?phpinclude("./class/class.php"); // 包含class的基本头文件include("./class/phpexcel/PHPExcel.php"); // 生成excel的基本类定义(注意文件名的大小写)// 如果直接输出excel文件,则要包含此文件include("./class/phpexcel/PHPExcel/IOFactory.php");// 创建phpexcel对象,此对象包含输出的内容及格式$m_objPHPExcel = new PHPExcel();// 模板文件,为了实现格式与内容分离,有关输出文件具体内容实现在模板文件中// 模板文件将对象$m_objPHPExcel进行操作include("./include/excel.php");// 输出文件的类型,excel或pdf$m_exportType = "excel";$m_strOutputExcelFileName = date('Y-m-j_H_i_s').".xls"; // 输出EXCEL文件名$m_strOutputPdfFileName = date('Y-m-j_H_i_s').".pdf"; // 输出PDF文件名// PHPExcel_IOFactory, 输出excel//require_once dirname(__FILE__).'/Classes/PHPExcel/IOFactory.php';// 如果需要输出EXCEL格式if($m_exportType=="excel"){$objWriter = PHPExcel_IOFactory::createWriter($m_objPHPExcel, 'Excel5');// 从浏览器直接输出$m_strOutputExcelFileNameheader("Pragma: public");header("Expires: 0");header("Cache-Control:must-revalidate, post-check=0, pre-check=0");header("Content-Type:application/force-download");header("Content-Type: application/vnd.ms-excel;");header("Content-Type:application/octet-stream");header("Content-Type:application/download");header("Content-Disposition:attachment;filename=".$m_strOutputExcelFileName); header("Content-Transfer-Encoding:binary");$objWriter->save("php://output");}// 如果需要输出PDF格式if($m_exportType=="pdf"){$objWriter = PHPExcel_IOFactory::createWriter($m_objPHPExcel, 'PDF'); $objWriter->setSheetIndex(0);header("Pragma: public");header("Expires: 0");header("Cache-Control:must-revalidate, post-check=0, pre-check=0");header("Content-Type:application/force-download");header("Content-Type: application/pdf");header("Content-Type:application/octet-stream");header("Content-Type:application/download");header("Content-Disposition:attachment;filename=".$m_strOutputPdfFileName); header("Content-Transfer-Encoding:binary");$objWriter->save("php://output");}?>模板文件内容(附加常用操作)<?phpglobal $m_objPHPExcel; // 由外部文件定义// 设置基本属性$m_objPHPExcel->getProperties()->setCreator("Sun Star Data Center")->setLastModifiedBy("Sun Star Data Center")->setTitle("Microsoft Office Excel Document")->setSubject("Test Data Report -- From Sunstar Data Center")->setDescription("LD Test Data Report, Generate by Sunstar Data Center")->setKeywords("sunstar ld report")->setCategory("Test result file");// 创建多个工作薄$sheet1 = $m_objPHPExcel->createSheet();$sheet2 = $m_objPHPExcel->createSheet();// 通过操作索引即可操作对应的工作薄// 只需设置要操作的工作簿索引为当前活动工作簿,如// $m_objPHPExcel->setActiveSheetIndex(0);// 设置第一个工作簿为活动工作簿$m_objPHPExcel->setActiveSheetIndex(0);// 设置活动工作簿名称// 如果是中文一定要使用iconv函数转换编码$m_objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', '测试工作簿'));// 设置默认字体和大小$m_objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf-8', '宋体'));$m_objPHPExcel->getDefaultStyle()->getFont()->setSize(10);// 设置一列的宽度$m_objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);// 设置一行的高度$m_objPHPExcel->getActiveSheet()->getRowDimension('6')->setRowHeight(30);// 合并单元格$m_objPHPExcel->getActiveSheet()->mergeCells('A1:P1');// 定义一个样式,加粗,居中$styleArray1 = array('font' => array('bold' => true,'color'=>array('argb' => '00000000',),),'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,),);// 将样式应用于A1单元格$m_objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray1);// 设置单元格样式(黑色字体)$m_objPHPExcel->getActiveSheet()->getStyle('H5')->getFont()->getColor()->setARGB(PHPExcel_St yle_Color::COLOR_BLACK); // 黑色// 设置单元格格式(背景)$m_objPHPExcel->getActiveSheet()->getStyle('H5')->getFill()->getStartColor()->setARGB('00ff9 9cc'); // 将背景设置为浅粉色// 设置单元格格式(数字格式)$m_objPHPExcel->getActiveSheet()->getStyle('F1')->getNumberFormat()->setFormatCode('0.000');// 给特定单元格中写入内容$m_objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello Baby');// 设置单元格样式(居中)$m_objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setHorizontal(PHPExcel_Sty le_Alignment::HORIZONTAL_CENTER);// 给单元格中放入图片, 将数据图片放在J1单元格内$objDrawing = new PHPExcel_Worksheet_Drawing();$objDrawing->setName('Logo');$objDrawing->setDescription('Logo');$objDrawing->setPath("../logo.jpg"); // 图片路径,只能是相对路径$objDrawing->setWidth(400); // 图片宽度$objDrawing->setHeight(123); // 图片高度$objDrawing->setCoordinates('J1');$objDrawing->setWorksheet($m_objPHPExcel->getActiveSheet());// 设置A5单元格内容并增加超链接$m_objPHPExcel->getActiveSheet()->setCellValue('A5', iconv('gbk', 'utf-8', '超链接'));$m_objPHPExcel->getActiveSheet()->getCell('A5')->getHyperlink()->setUrl('http://www.keiyi.co m/');?>在服务器端生成静态文件相比直接生成,这两种方法的主要区别是生成格式的不同,模板文件完全相同,下边是一个在上例基础上更改后的样子,注意与上例的区别。
使⽤phpofficephpspreadsheet,导⼊、导出数据安装composer require phpoffice/phpspreadsheet//use \PhpOffice\PhpSpreadsheet\Spreadsheet;//use \PhpOffice\PhpSpreadsheet\IOFactory;//use \PHPExcel_Style_NumberFormat; //设置列的格式==>>设置⽂本格式//导⼊数据public function export(){//上传excel⽂件$file = request()->file('myfile'); //获取表格的⼤⼩,限制上传表格的⼤⼩5M$file_size = $_FILES['myfile']['size'];if ($file_size > 50 * 1024 * 1024) {$this->error('⽂件⼤⼩不能超过5M');exit();}//限制上传表格类型$fileExtendName = substr(strrchr($_FILES['myfile']["name"], '.'), 1);//application/vnd.ms-excel 为xls⽂件类型if ($fileExtendName != 'xls') {$this->error('必须为excel表格,且必须为xls格式!');exit();}header("content-type:text/html;charset=utf-8");//将⽂件保存到public/uploads⽬录下⾯$info = $file->validate(['size' => 5 * 1024 * 1024, 'ext' => 'xls,xlsx'])->move('uploads');if ($info) {//获取上传到后台的⽂件名$fileName = $info->getSaveName();//获取⽂件路径$filePath = '/www/wwwroot/obd-api/'. 'public' . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . $fileName;} else {return json(['status' => '1', 'message' => '⽂件过⼤或格式不正确导致上传失败-_-!']);}require dirname(dirname(dirname(__DIR__))).'/vendor/autoload.php';$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader('Xlsx');$reader->setReadDataOnly(TRUE);$spreadsheet = $reader->load($filePath); //载⼊excel表格$worksheet = $spreadsheet->getActiveSheet();$highestRow = $worksheet->getHighestRow(); // 总⾏数$highestColumn = $worksheet->getHighestColumn(); // 总列数$highestColumnIndex = \PhpOffice\PhpSpreadsheet\Cell\Coordinate::columnIndexFromString($highestColumn); // e.g. 5$lines = $highestRow - 2;if ($lines <= 0) {exit('Excel表格中没有数据');}for ($row = 3; $row <= $highestRow; ++$row) {$temp = array('code' => $worksheet->getCellByColumnAndRow('1', $row)->getValue(),'name' => $worksheet->getCellByColumnAndRow('2', $row)->getValue(),'class' => $worksheet->getCellByColumnAndRow('3', $row)->getValue(),'describe' => $worksheet->getCellByColumnAndRow('4', $row)->getValue(),'symptom' => $worksheet->getCellByColumnAndRow('5', $row)->getValue(),'cause' => $worksheet->getCellByColumnAndRow('6', $row)->getValue(),'scheme' => $worksheet->getCellByColumnAndRow('7', $row)->getValue(),);$list[] = $temp;}}。
phpoffice excel 用法PHPOfficeExcel是一款PHP软件包,用于操作 Excel 文件。
该软件包提供了一组工具和类,可以让 PHP 开发人员轻松地读取和写入 Excel 文件。
PHPOffice Excel 支持多种 Excel 文件格式,包括XLSX、XLS、CSV 等。
在本文中,我们介绍了 PHPOffice Excel 的基本用法,包括创建 Excel 文件、写入数据、读取数据等操作。
创建 Excel 文件使用 PHPOffice Excel 创建 Excel 文件非常简单。
首先,我们需要创建一个新的工作簿对象。
可以使用以下代码创建一个新的工作簿对象:```use PhpOfficePhpSpreadsheetSpreadsheet;use PhpOfficePhpSpreadsheetWriterXlsx;// 创建新的工作簿对象$spreadsheet = new Spreadsheet();```接下来,我们可以向工作簿中添加一个新的工作表。
可以使用以下代码添加一个工作表:```// 添加新的工作表$sheet = $spreadsheet->getActiveSheet();```现在,我们可以向工作表中添加数据了。
写入数据要向 Excel 文件中写入数据,我们需要将数据写入工作表对象。
可以使用以下代码将数据写入工作表:```// 向工作表中写入数据$sheet->setCellValue('A1', 'Hello');$sheet->setCellValue('B1', 'World');```在这个例子中,我们向工作表的 A1 和 B1 单元格中写入了数据。
读取数据要从 Excel 文件中读取数据,我们需要打开 Excel 文件并读取工作表中的数据。
可以使用以下代码打开 Excel 文件:```use PhpOfficePhpSpreadsheetIOFactory;// 打开 Excel 文件$reader = IOFactory::createReader('Xlsx');$spreadsheet = $reader->load('example.xlsx');```在这个例子中,我们使用 IOFactory 类中的 createReader()方法创建了一个 XlsxReader 对象,然后使用 load() 方法加载了名为 example.xlsx 的 Excel 文件。
php xlswriter 例子PHP XLSWriter 是一个用于创建和操作 Microsoft Excel 文件的库。
它提供了一组简单易用的函数,可以在 PHP 程序中生成、修改和保存 Excel 文件。
使用 PHP XLSWriter 创建 Excel 文件非常简单。
以下是一个简单的例子,展示了如何使用 XLSWriter 创建一个包含基本信息的 Excel 表格:```php<?phprequire 'path/to/XLSWriter.php';// 创建一个新的 Excel 文件$xls = new XLSWriter();// 添加一个工作表$xls->addSheet();// 设置工作表标题$xls->setTitle('基本信息');// 添加表头$xls->writeRow(array('姓名', '年龄', '性别'));// 添加数据行$xls->writeRow(array('张三', 25, '男'));$xls->writeRow(array('李四', 30, '女'));$xls->writeRow(array('王五', 35, '男'));// 保存 Excel 文件$xls->save('path/to/output.xlsx');echo 'Excel 文件创建成功!';>```在上述例子中,首先引入 XLSWriter 库,然后创建一个新的 Excel 文件实例,接着添加工作表并设置标题。
然后,逐行添加表头和数据行。
最后,通过调用`save()` 方法将生成的 Excel 文件保存到指定路径。
最近因项目需要,需要开发一个模块,把系统中的一些数据导出成Excel,修改后再导回系统。
就趁机对这个研究了一番,下面进行一些总结。
基本上导出的文件分为两种:1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已。
修改这种文件后再保存,通常会提示你是否要转换成Excel文件。
优点:简单。
缺点:难以生成格式,如果用来导入需要自己分别编写相应的程序。
2:Excel格式,与类Excel相对应,这种方法生成的文件更接近于真正的Excel格式。
如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把$yourStr从utf-8转换成了gb2312:$yourStr = mb_convert_encoding(”gb2312″, “UTF-8″, $yourStr);下面详细列举几种方法。
一、PHP导出Excel1:第一推荐无比风骚的PHPExcel,官方网站:/PHPExcel导入导出都成,可以导出office2007格式,同时兼容2003。
下载下来的包中有文档和例子,大家可以自行研究。
抄段例子出来:PHP代码<?php/*** PHPExcel** Copyright (C) 2006 - 2007 PHPExcel** This library is free software; you can redistribute it and/or* modify it under the terms of the GNU Lesser General Public* License as published by the Free Software Foundation; either* version 2.1 of the License, or (at your option) any later version.** This library is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU* Lesser General Public License for more details.** You should have received a copy of the GNU Lesser General Public* License along with this library; if not, write to the Free Software* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA** @category PHPExcel* @package PHPExcel* @copyright Copyright (c) 2006 - 2007 PHPExcel ( /PHPExcel)* @license /licenses/lgpl.txt LGPL* @version 1.5.0, 2007-10-23*//** Error reporting */error_reporting(E_ALL);/** Include path **/set_include_path(get_include_path() . PATH_SEPARATOR . ‘../Classes/’);/** PHPExcel */inc lude ‘PHPExcel.php’;/** PHPExcel_Writer_Excel2007 */include ‘PHPExcel/Writer/Excel2007.php’;// Create new PHPExcel objectecho date(’H:i:s’) . ” Create new PHPExcel object\n”;$objPHPExcel = new PHPExcel();// Set propertiesecho date(’H:i:s’) . ” Set properties\n”;$objPHPExcel->getProperties()->setCreator(”Maarten Balliauw”);$objPHPExcel->getProperties()->setLastModifiedBy(”Maarten Balliauw”);$objPHPExcel->getProperties()->setTitle(”Office 2007 XLSX Test Document”);$objPHPExcel->getProperties()->setSubject(”Office 2007 XLSX Test Document”); $objPHPExcel->getProperties()->setDescrīption(”Test document for Office 2007 XLSX, generated using PHP classes.”);$objPHPExcel->getProperties()->setKeywords(”office 2007 openxml php”);$objPHPExcel->getProperties()->setCategory(”Test result file”);// Add some dataecho date(’H:i:s’) . ” Add some data\n”;$objPHPExcel->setActiveSheetIndex(0);$objPHPExcel->getActiveSheet()->setCellValue(’A1′, ‘Hello’);$objPHPExcel->getActiveSheet()->setCellValue(’B2′, ‘world!’);$objPHPExcel->getActiveSheet()->setCellValue(’C1′, ‘Hello’);$objPHPExcel->getActiveSheet()->setCellValue(’D2′, ‘world!’);// Rename sheetecho date(’H:i:s’) . ” Renam e sheet\n”;$objPHPExcel->getActiveSheet()->setTitle(’Simple’);// Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0);// Save Excel 2007 fileecho date(’H:i:s’) . ” Write to Excel2007 format\n”;$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);$objWriter->save(str_replace(’.php’, ‘.xlsx’, __FILE__));// Echo doneecho date(’H:i:s’) . ” Done writing file.\r\n”;2、使用pear的Spreadsheet_Excel_Writer类下载地址:/package/Spreadsheet_Excel_Writer此类依赖于OLE,下载地址:/package/OLE需要注意的是导出的Excel文件格式比较老,修改后保存会提示是否转换成更新的格式。
不过可以设定格式,很强大。
PHP代码<?phprequire_once ‘Spreadsheet/Excel/Writer.php’;// Creating a workbook$workbook = new Spreadsheet_Excel_Writer();// sending HTTP headers$workbook->send(’test.xls’);// Creating a worksheet$worksheet =& $workbook->addWorksheet(’My first worksheet’);// The actual data$worksheet->write(0, 0, ‘Name’);$worksheet->write(0, 1, ‘Age’);$worksheet->write(1, 0, ‘John Smith’);$worksheet->write(1, 1, 30);$worksheet->write(2, 0, ‘Johann Schmidt’);$worksheet->write(2, 1, 31);$worksheet->write(3, 0, ‘Juan Herrera’);$worksheet->write(3, 1, 32);// Let’s send the file$workbook->close();?>3:利用smarty,生成符合Excel规范的XML或HTML文件支持格式,非常完美的导出方案。
不过导出来的的本质上还是XML文件,如果用来导入就需要另外处理了。
详细内容请见rardge大侠的帖子:/viewthread.php?tid=745757需要注意的是如果导出的表格行数不确定时,最好在模板中把”ss:ExpandedColumnCount=”5″ss:ExpandedRowCount=”21″”之类的东西删掉。
4、利用pack函数打印出模拟Excel格式的断句符号,这种更接近于Excel标准格式,用office2003修改后保存,还不会弹出提示,推荐用这种方法。
缺点是无格式。
PHP代码<?php// Send Headerheader(”Pragma: public”);header(”Expires: 0″);header(”Cache-Control: must-revalidate, post-check=0, pre-check=0″);header(”Content-Type: application/force-download”);header(”Content-Type: application/octet-stream”);header(”Content-Type: application/download”);;header(”Content-Disposition: attachment;filename=test.xls “);header(”Content-Transfer-Encoding: binary “);// XLS Data CellxlsBOF();xlsWriteLabel(1,0,”My excel line one”);xlsWriteLabel(2,0,”My excel line two : “);xlsWriteLabel(2,1,”Hello everybody”);xlsEOF();function xlsBOF() {echo pack(”ssssss”, 0×809, 0×8, 0×0, 0×10, 0×0, 0×0);return;}function xlsEOF() {echo pack(”ss”, 0×0A, 0×00);return;}function xlsWriteNumber($Row, $Col, $Value) {echo pack(”sssss”, 0×203, 14, $Row, $Col, 0×0);echo pack(”d”, $Value);return;}function xlsWriteLabel($Row, $Col, $Value ) {$L = strlen($Value);echo pack(”ssssss”, 0×204, 8 + $L, $Row, $Col, 0×0, $L);echo $Value;return;}?>不过笔者在64位linux系统中使用时失败了,断句符号全部变成了乱码。