Tag: phpexcel

PHPExcel – 使列不丢弃前导零

我目前正在运行代码来获取一个.csv文件,该文件每天都会被创build并正在使用; 作为分隔符,并将其导出到Excel电子表格中。 代码如下: $xlFileName = $outDir."output_".date("njY").".xls"; require_once 'PHPExcel_1.8.0_doc/Classes/PHPExcel/IOFactory.php'; $objReader = PHPExcel_IOFactory::createReader('CSV'); $objReader->setDelimiter(";"); //$objReader->setInputEncoding('UTF-16LE'); $objPHPExcel = $objReader->load($todayFileName); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save($xlFileName); 我遇到的这个问题是,一列是邮政编码,可以从0开始。有没有什么办法可以告诉PHPExcel不要丢弃该特定列中的前导零? 编辑: 示例csv内容: Date;Zip Code;Data;Data;Data 10/12/2015;01234; Some Data ; More Data ; More Data 10/12/2015;12345; Some Data ; More Data ; More Data 10/12/2015;23456; Some Data ; More Data ; More Data 10/12/2015;34567; Some […]

读空单元格作为数据单元格

我正在读取一个Excel文件,PHPExcel codeplex有时会将一个空单元格视为一个值单元格。 例如: 如果我的Excel有128列,最大是DV有时会根据Excel和用户的需求而有所不同。 最多是126列。 最less是8列。 而最大的行是250。 ———————- A | B | ….. |DU |DV| ———————- 我用下面的代码来加载Excel: set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/'); include 'PHPExcel/IOFactory.php'; $inputFileName = $target_file; 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()); } 现在问题是PHPExcel显示错误的最大列和行,最大列是126(DV),最大行是245。 但是当我用下面的代码得到错误的值时: $lastColumn = $objPHPExcel->setActiveSheetIndex(0)->getHighestColumn(); $lastRow = […]

使用PHPexcel类的密码保护excel表

我想创build一个密码保护的excel表使用PHPexcel这里是我的代码: <?php require_once '../classes/PHPExcel.php'; include '../classes/PHPExcel/Writer/Excel2007.php'; $objPHPExcel = new PHPExcel(); $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello'); $objPHPExcel->getActiveSheet()->SetCellValue('B1', 'world!'); $objPHPExcel->getSecurity()->setLockWindows(true); $objPHPExcel->getSecurity()->setLockStructure(true); $objPHPExcel->getSecurity()->setWorkbookPassword('1234'); $objPHPExcel->getActiveSheet()->setTitle('Reports'); $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); $objWriter->save('Reports.xlsx'); ?> 但是,当我打开Reports.xlsx文件它不要求任何密码。 这个代码有什么错? 我试过这段代码我可以使用密码保护从stackoverflow 创buildExcel文件 提前致谢。

ios excel格式编号与颜色

我试图在用PHPExcelbuild立的excel文档中格式化数字,所以负数在它们周围有括号,并且是红色的,正数是绿色的。 $worksheet->getStyle("A1")->applyFromArray({ "numberformat" => [ "code" => "[green]#,##0.00;[red](#,##0.00)", ] }); 除了iOS以外,一切都很好。 不pipe实际的号码是什么,iOS都将格式化的单元格更改为[241498718990] 。 有人知道怎么修这个东西吗?

PHPExcel,如果$ value = $ value那么跳过?

我正在尝试使用PHPExcel读取xlsx文件,但是我尝试使用第1列值生成导航栏时出现问题。 由于我的大部分专栏包含相同types的价值, eg T-Shirt, T-Shirt… Cap, Cap, Cap.. Hoodies, Hoodies…我有一个问题筛选出相同的价值,有人有任何想法如何跳过与前一个值相同的值? 这是我的代码: <?php for ($column = 2; $column <= $highestRow; ++$column) { $cat = $objWorksheet->getCellByColumnAndRow(0, $column)->getValue(); if ($cat == $cat) { continue; } else { echo '<li><a href="'.$cat.'">'.$cat.'</a></li>'; } } ?> 如果它在我的导航栏的<li><a href=""></a></li>下工作,那将会很棒

PHPExcel从超链接中获得友好名称?

我在Excel表格中有一个超链接,如下所示。 =HYPERLINK("mailto:abc@def.com","abc@def.com") 我见过很多关于如何从超链接中提取URL的例子: $cell->getUrl(); 但是,我似乎无法弄清楚的是如何获得友好名称或超链接的第二部分,在这种情况下将是: abc@def.com 我试图获得工具提示,但无济于事。 我可能在想,所以任何帮助,将不胜感激。

如何提高PHPExcel的公式计算?

我是PHPExcel的新手,我已经search了谷歌,但没有find我的具体问题在这里。 我发现更新/评估表单中的公式非常慢。 我有一个非常小的excel文件,我正在做一些非常基本的目标寻求(在PHP中完成目标,在Excel表中完成最终结果计算)。 我已经准确地工作了,但速度绝对会令我失望。 看来公式计算是怪罪 – 公式计算/更新如何加速? 不幸的是,由于内容是我公司的商业秘密,我不能发布excel文件的副本,但这并不是什么不寻常的事情。 公式中非常简单的算术。 我能想到的唯一可能会有一个效果是,一些细胞依赖链可能有点长(15-ish依赖)。 正如你从下面的输出中可以看到的那样,我们只执行11次迭代来寻找目标,总共花费4-5秒。 由于这将是一个AJAX服务,我真的需要它比这更快。 码 这是非常快速和肮脏的概念validation码,请耐心等待: <?php Stopwatch::start(); $inputFileType = PHPExcel_IOFactory::identify( './example.xlsx' ); var_dump( 'FileType: '.$inputFileType ); Stopwatch::rel( 'identify filetype' ); $objReader = PHPExcel_IOFactory::createReader( $inputFileType ); $objReader->setReadDataOnly( true ); $filterSubset = new ReadFilter( 1, 35, range( 'A', 'J' )); $objReader->setReadFilter( $filterSubset ); Stopwatch::rel( 'create reader' ); $objPHPExcel […]

如何获得excel表格标题在laravel 5.2

我想获得Excel表格标题。 我有像这样的方法控制器: use Maatwebsite\Excel\Facades\Excel; public function importCSVEXCEl() { Excel::load('test.xls', function($reader) { foreach($reader as $sheet) { $temp= $sheet->getTitle(); } }); } 执行这个方法后显示错误 调用未定义的方法PHPExcel :: getTitle()

PHPExcel:如何从内容来自其他表单元格的单元格读取值

我花了最后的时间来解决这个问题。 我有一个电子表格与几个标签(工作表)。 最后一个选项卡在所有其他选项卡中具有值input。 这些值通过使用公式自动填充: =$'otherSheetName'.A1 如果我将calculateFormulas = true那么这些值将被读为null。 如果我设置calculateFormulas = false的值读取为文字公式。 我第一次使用LaravelExcel,但是我放弃了寻找解决scheme,所以我搬到了PHPExcel。 Laravel Excel的解决scheme也将受到赞赏。 谢谢 更新:我如何读取PHPExcel中的值: $inputFileType = PHPExcel_IOFactory::identify($file->getRealPath()); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objReader->setLoadSheetsOnly("MySheet"); $objPHPExcel = $objReader->load($file->getRealPath()); $rows = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); 然后,我遍历数组$行并提取我想要的值。

你可以使用什么,而不是在tick中的刻度线?

我试图将Excel电子表格中单元格的值设置为引用工作表的公式,并具有多个参数。 我的公式是: =SUMIFS('Sheet1'!AY:AY,'Sheet1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "NP")+SUMIFS('Sheet1'!AY:AY,'Sheet1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "PHBO")+SUMIFS('Sheet1'!AY:AY,'Shee1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "PR", 'Sheet1'!AN:AN, "Both")+SUMIFS('Sheet1'!AY:AY,'Sheet1'!J:J, "Q1", 'Sheet1'!M:M, "Extensions", 'Sheet1'!AW:AW, "PR", 'Sheet1'!AN:AN, "Area") 我的PHP是: $objPHPExcel->setActiveSheetIndex(1) ->setCellValue('B2', 'XXX'); 其中XXX =上面的公式。 问题是因为公式中的“和”标记我得到错误。