Tag: phpexcel

修改代码以将HTML表格导出到Excel

我在我的应用程序中使用PHPExcel 1.8 。 我想要做的是下载我的文件generated.html这是内容。 <!DOCTYPE html> <html> <head> <title>PHPExcel</title> <style> table, td, th { border: 1px solid black; } </style> </head> <body> <table style="width:100%"> <tr> <td bgcolor="#FF0000">Jill</td> <td>Smith</td> <td>50</td> </tr> <tr> <td>Jack</td> <td>Paper</td> <td>123</td> </tr> <tr> <td>Eve</td> <td>Jackson</td> <td>94</td> </tr> <tr> <td bgcolor="#FF0000">John</td> <td>Doe</td> <td>80</td> </tr> </table> </body> </html> 现在,我有dl.php来执行下载,但example.xls没有应用到它的样式和颜色。 <?php require_once 'PHPExcel-1.8/Classes/PHPExcel.php'; $objReader = […]

PHPExcel – 在文档创build过程中获取当前页面

客户在制药行业工作。 我们打印客户购买物品的账单。 文件的一般结构如下: Header List of items Footer 当所有项目列表适合N个页面时,有时会发生这种情况。 在这种情况下,页脚移动到最后一页。 当地法律禁止这样的文件,即主人不能孤立。 它需要包含至less一个卖出的头寸。 关于执行的想法: 如果我可以在调用操作(如setCellValue或fromArray)期间获取当前页面,将很容易实现它。 在这种情况下,我可以检查我还有多less行,如果我在新的页面上。 如果我在新的页面上,并有零个项目,那么我会在最后一个位置之前添加空行。 因为Excel的工作方式,我觉得不可能进入phpexcel。 至于现在我只有一个肮脏的解决scheme:根据用户请求创build文档 – >存储在服务器上的临时文件夹的某个地方 – >阅读它并检查文档是否有最后一页没有项目,如果是这种情况下,我会添加空位并重新创build文档(某种深度有限的recursion)。 但是这个解决scheme太混乱了。 有没有更好的方法来处理这个问题?

来自oci_fetch_array的PHPexcel大数据错误的打印

下午好! 请,我需要帮助我的代码。 我有一个查询读取大量的数据,并与oci_fetch_array打印,但我需要导出到Excel电子表格中。 我使用PHPexcel 01simple-download-xls的代码填充数据: $result = oci_parse($connect, $query); oci_execute($result); while (($row = oci_fetch_array($result, OCI_BOTH)) != false){ $columna = 0; foreach ($row as $key => $valor) { $objPHPExcel->getActiveSheet()->setCellValue('A' . $columna, $valor); $columna++; } } oci_free_statement($result); oci_close($connect); 但电子表格只显示我的BD的第一个数据,我需要所有的。 数据是这样的: 如何在列中打印数据行? 谢谢!

不希望在生成的PHPexcel中舍入数字

我使用phpexcel从mysql数据库生成一个可下载的excel文件。 在那里,有一个有18位数字的字段,在mysql中它被定义为Bigint 。 该编号在代码中被定义为超链接。 现在有以下问题 – 数字超链接的最后4个数字显示为0000但点击数字超链接时,它正确打开。 示例860814069447613475在生成的excel中显示为860814069447610000 这是我的代码 – $objPHPExcel->getActiveSheet() ->getStyle('A'.(string)$n) ->getNumberFormat() ->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_NUMBER ); $n = 2; while ($row = mysqli_fetch_array($result)){ $objPHPExcel->getActiveSheet()->setCellValue('A'.(string)$n, $row['t_id']); $objPHPExcel->getActiveSheet()->setCellValue('B'.(string)$n, $row['t_text']); $objPHPExcel->getActiveSheet()->setCellValue('C'.(string)$n, $row['user_name']); $objPHPExcel->getActiveSheet()->setCellValue('D'.(string)$n, $row['description']); $objPHPExcel->getActiveSheet()->setCellValue('E'.(string)$n ,$row['time']); $objPHPExcel->getActiveSheet()->setCellValue('F'.(string)$n, $row['place']); $objPHPExcel->getActiveSheet()->getStyle("A$n:F$n")->getAlignment()- >setWrapText(true); $objPHPExcel->getActiveSheet() ->getCell('A'.(string)$n) ->getHyperlink() ->setUrl('http://t.com/'.$row['user_name'].'/status/' . $row['t_id']); // Config $link_style_array = [ 'font' => [ 'color' => ['rgb' => […]

克隆一个表格的内容和样式到另一个 – PHP的Excel

我需要将一个Excel工作簿中的一个工作表的内容复制到一个新的Excel工作簿中的工作表。 问题是,我不知道这些工作表包含什么或他们的格式。 但是,这将只是每一次的第一张。 我尝试了一种方法,但是每次都用尽内存。 所以我想我会一行一行地做100000行。 无论如何,我从一开始就得到了数据,但没有把它写入新的表格。 我该怎么做? 这是我到目前为止: // Open the current worksheet App::import('Vendor', 'PHPExcel'); if (!class_exists('PHPExcel')) { throw new CakeException('Vendor class PHPExcel not found!'); $this->xls = PHPExcel_IOFactory::load($path); // Read all content $this->xls->getActiveSheet()->rangeToArray('A1:ZZZZ1'); // Close current worksheet $this->xls->disconnectWorksheets(); // Delete worksheet unlink($destination); // Open new worksheet $this->xls = new PHPExcel(); $newWorksheet = new PHPExcel_Worksheet($this->xls, 'Sheet […]

在PHP EXCEL中读取date格式

我已经阅读使用PHP Excel的Excel文件。 但是,该Excel文件包含一些date(时间格式)的PHP Excel中返回错误的值为这种情况 我的代码在下面 enter code hereinclude 'Classes/PHPExcel/IOFactory.php'; $inputFileName = 'index.xlsx'; // Read your Excel workbook try { $inputFileType = PHPExcel_IOFactory::identify($inputFileName); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); } catch (Exception $e) { die('Error loading file "' . pathinfo($inputFileName, PATHINFO_BASENAME) . '": ' . $e->getMessage()); } // Get worksheet dimensions $sheet = $objPHPExcel->getSheet(0); $highestRow = […]

PHPExcel在parsingxlsx文件中的公式时返回零“0”

我想通过PHP获取Excel函数的计算值。如果input是简单的 '=MAX(2,3,4,6)' 那么输出将是 6 为此,我用PHPExcel Library制作了两个php脚本。 一个脚本将采取该公式/function,并将生成一个xlsx文件。 第二个脚本将读取生成的xlsx文件,并给出给定公式的计算值。 这个过程似乎没问题,但它不能为一些function产生价值。 如为 "=INDEX({"zz","yy","xx"},2)" 和 "=INDEX({"zz","yy","xx"},MATCH(MAX({11,22,34}),{11,23,34}))" 我的第一个脚本可以生成xlsx文件及其公式的结果。 在这里input图像说明 但第二个脚本显示无效的结果,它只显示0。 这是我的第一个脚本http://pastebin.com/vCErW5wf 这是我的第二个剧本 require_once 'a/Classes/PHPExcel/IOFactory.php'; require_once 'a/Classes/PHPExcel.php'; $inFile = 'index.xlsx'; $objReader = PHPExcel_IOFactory::createReader('Excel2007'); $objReader->setReadDataOnly(true); $objPHPExcel = $objReader->load($inFile); $value = $objPHPExcel->setActiveSheetIndex(0)->getCell('C5')->getOldCalculatedValue(); echo $value; 提前致谢 。

如何解决PhpExcel额外的小数点错误?

我正在使用PHPExcel进行客户端项目。 有这个错误我一直在面对额外的小数位是随机添加一些单元格,而阅读Excel文件。 例如,而不是56.25 ,我得到56.24999999999 。 我已经将这个问题追溯到PHPExcel本身,我花了很多时间浏览文档,但是我还没有find任何可以解决这个问题的方法。 我不能把数字四舍五入到一个给定的小数点,因为它随机发生,不同的单元格有不同的小数点数字。 请帮忙!!! 编辑:关键是小数点保持完全一样,他们是手动input。 所以如果客户端在一个单元中手动input34.25,然后在其他单元中input51.3456,他们应该保持完全一样! 所以四舍五入并不是这里理想的解决scheme。

PHP Excel为公式单元格提供空白输出,直到单击“启用编辑”为止

我正在使用phpexcel创build一个xlsx文件。 我有很多公式在文件中。 当下载文件时,一些公式单元格(不是全部)显示为空,直到单击“启用编辑”选项。 我正在使用下面的代码: $objPHPExcel = new PHPExcel(); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.$xlsName.'"'); header('Cache-Control: max-age=0'); $objWriter->save('php://output'); 在使用以前的Office版本没有启用编辑选项的用户发生此问题。 对于他们来说这些单元格显示为空

如何使用PHPExcel第一行的键转换为数组?

对不起,找不到我需要的东西。 我有xls / xlsx。 然后我得到这样的smth: array 0 => array 0 => string 'NameFirstColumn' 1 => string 'NameSecondColumn' 1 => array 0 => string 'qqq' 1 => float 30 2 => array 0 => string 'www' 1 => float 20 第一行是一个名称为值的标题。 如何使PHPExcel转换为数组看起来像这样: array 0 => array NameFirstColumn => string 'qqq' NameSecondColumn => float 30 1 => […]