Tag: phpexcel

Yii2:phpoffice / phpexcel将.xlsx文件标识为HTML

我正在尝试为我的yii2项目使用phpoffice / phpexcel插件来读取excel文件。 对于带有xls扩展名的文件,插件工作正常,我可以读取内容,但是当我尝试使用带有日语文件名和xlsx扩展名的文件时,它给了我一个这样的错误: DOMDocument :: loadHTML():实体中的CDATA 0x3中的无效字符,行:1。 我试图调查PHPExcel_IOFactory :: identify。 调查函数,我遇到了IOFactory类中的createReaderForFile,并在检查这里设置的扩展types时,它说“Excel2007”,但由于某种原因,在过程的最后,该文件仍被标识为HTML。 为了进一步描述这个问题,我的文件有不同的扩展名和名称,但基本上是这样的内容: col1 col2 col3 aaaa bbbb cccc 这些文件如下: あああ.xls(可以阅读) あああ.xlsx(不能被读取) aaaa.xls(可以读取) aaaa.xlsx(可以读取) 只有あああ.xlsx不能阅读,但其余的都很好。 这是对phpoffice / phpexcel插件的某种限制吗? 如果是这样,你能build议其他yii2扩展,这将使我能正确地阅读xlsx和xls文件? 还是有一些方法来解决这个问题,以便它可以正确识别文件?

如何在PHPExcel中修改注释?

我正在使用symfony上的PHPExcel Library! 我正在研究如何在excel文件的单元格中创build注释。 有了这个文档,我知道我可以如何在mysx文件中创build一个注释: $objCommentRichText = $objPHPExcel->getActiveSheet(0)->getComment('E5')->getText()->createTextRun('My first comment :)'); 这是完美的工作! 但现在我尝试修改单元格E5(谁有评论“我的第一个评论:)”)的评论。 我只是想用另一个replace这个评论。 我尝试这样的事情: $objPHPExcel = PHPExcel_IOFactory::load($file);//On lit le fichier avec la librairie excel $sheet = $objPHPExcel->getSheet(0); //$objCommentRichText = $objPHPExcel->getActiveSheet(0)->getComment('E5')->getText()->createTextRun('My first comment :)'); $objCommentRichText = $objPHPExcel->getActiveSheet(0)->getComment('E5')->setText("My 2nd comment");//here I try to modify the comment $objCommentRichText->getFont()->setBold(true); $styleArray = array( 'font' => array( 'color' => array('rgb' => […]

PHPExcel和Office 2016

我目前正在使用PHPExcel(v1.8.0)生成带有数据和graphics的xlxs文件。 但是,当我在办公室打开我生成的文件,我得到一个错误。 我试图用“setPlotDirection”方法精确定位,并删除y轴标签。 这是代码: $categories = array( new \PHPExcel_Chart_DataSeriesValues('String', "'".$this->oSheet->getTitle()."'!\$A$5:\$A$31", null, 1) ); $values = array( new \PHPExcel_Chart_DataSeriesValues('Number', "'".$this->oSheet->getTitle()."'!\$BA$5:\$BA$31", null, 1), ); $this->createChart($categories, $values, 'Title', 'Xlegend', 'YLegend', 'A34', 'K50'); function createChart($categories, $values, $title, $xLegnd, $yLegend, $topLeft, $bottomRight) { $series = new \PHPExcel_Chart_DataSeries( \PHPExcel_Chart_DataSeries::TYPE_BARCHART, \PHPExcel_Chart_DataSeries::GROUPING_STANDARD, range(0, count($values) – 1), null, $categories, $values ); $series->setPlotDirection(PHPExcel_Chart_DataSeries::DIRECTION_VERTICAL); $layout = […]

PHPExcel读取下拉列表当前select的选项

我有一个使用PHPExcel库从Excel文件中读取特殊“字段”的问题,是一个下拉列表,就像在多个单元格之间浮动的htmlselect一样,并且不与任何特定的单元格相关联。 下拉选项是从同一文档中的另一张工作表中获取的。 我需要打开文件并读取必要的单元格(已完成),并从每个下拉列表中获取选定的选项/值。 我尝试了一切,最后一件事是用phpexcel读取文件,并使用phpexcel文件编写器再次将其写入到一个新文件中,并且这些字段从新文档中消失。 有任何想法吗? 这可能使用这些库吗?

PHPExcel – 删除特定列中的0

我有我的代码的问题,基本上我试图find0列中,并删除包含的行。 代码会中断一次发现空行(最后一行) while(true) { $value = $objPHPExcel->getActiveSheet()->getCell('L'.$i++)->getValue(); if($value == '' || $value == NULL) break; else if($value == "0" || $value == 0) { $i-=1; $objPHPExcel->getActiveSheet()->removeRow($i); } } 问题是(显然)没有做任何事情

PHPExcel花费太多时间

我正在尝试使用PHPExcel生成Excel文件。 一切都很好,但它花费了太多的时间,我已经改变了max_execution_time和memory_limit,但仍然花费超过7分钟执行20000 X 12(1.4M)。 我必须通过大小1000000 X 12生成Excel。请给我一个解决scheme,我不得不搞乱我的查询只是忽略了。 //include files `ini_set('max_execution_time', 600); ini_set('memory_limit', '128M'); error_reporting(E_ALL); ini_set('display_errors', 1); include_once "../CMSWebService/config.php"; include 'PHPExcel/PHPExcel/IOFactory.php'; include 'PHPExcel/PHPExcel.php'; //Query $query = "SELECT SQL_CALC_FOUND_ROWS LastUpdate AS `Date`, partnres.PartnerIVRID AS PartnerIVRID, partnres .Category AS Category, partnres.BATPartnerCode AS BATPartnerCode , partnres.OutletName AS OutletName, partnres.RetailerName AS RetailerName, partnres.Region AS Region , partnres.Area AS Area , […]

getBold与PHPExcel单元格

我想通过PHPExcel将单元格值和其他属性导入数据库时​​,如果单元格是粗体的 var_dump($worksheet->getCellByColumnAndRow($column, $row)->getStyle()->getFont()->getBold()); 我很容易得到的价值,但是每当单元格大胆或不是那个事情总是返回false while($worksheet->getCellByColumnAndRow($column, $row)->getValue() != NULL) { $tableCell = $worksheet->getCellByColumnAndRow($column, $row)->getValue(); //Test if the field is in bold if ($worksheet->getCellByColumnAndRow($column, $row)->getStyle()->getFont()->getBold()) { $header = true; }else { $header = false; } //Test if the field need to be displayed if (preg_match($regPattern, $tableCell)) $displayOnQuestion = true; else $displayOnQuestion = false; $inputTableCell = array( "FK_Question" […]

如何使用phpexcel在第三张表中汇总两张不同的表格

我使用PhpExcel库来导出我的数据库的巨大的细节。 无论如何,我试图导出我的细节。 我刚刚创build了三张不同的纸张。 一个表名是“第一周”,另一个是“第二周”。 第三个名字又是“Total”。 添加(ie.E5)“第1周”的第一个值和第(ie.E5)“第2周”的第一个值时,我得到错误。 如果我在同一张表中应用任何公式(例如:如果我添加'第一周'的第一和第二个值),它工作正常。 但是,在不同的工作表之间我得到错误(Err.No:509:“操作员缺失”)。 请帮助我这个…! 先谢谢你。 🙂

如何通过PhpExcel将公式转换为Xls文件

我有一个xls文件,我试图使用PhpExcel插件上传。 我的代码是这样的 Excel::load($file_path, function($sheet) { $detail = $sheet->get(); var_dump($detail); }); 由于我的文件有excel公式插件抛出以下错误 PHPExcel_Calculation_Exception:10!I9 – >公式错误:意外, 我的问题是我如何删除公式,然后尝试上传它? 谢谢

使用PHPEXCEL lib将XLS转换为CSV,但不将空白行传输到CSV文件

以下代码将XLS文件的每一页转换为CSV文件。 但是我找不到一种方法来阻止它将XLS中的空白行包含到CSV中。 请帮帮我。 function convertXLStoCSV($infile, $outfile) // the function that converts the file { $fileType = PHPExcel_IOFactory::identify($infile); $objReader = PHPExcel_IOFactory::createReader($fileType); $objReader->setReadDataOnly(true); $objPHPExcel = $objReader->load($infile); $writer = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV'); $writer->setDelimiter(","); $writer->setEnclosure(""); foreach ($objPHPExcel->getWorksheetIterator() as $workSheetIndex => $worksheet) { $objPHPExcel->setActiveSheetIndex($workSheetIndex); $writer->setSheetIndex($workSheetIndex); $writer->save('converted/' . $outfile ."_" . $worksheet->getTitle() . ".csv"); echo $outfile; echo $infile; } }