当前位置: 首页>>代码示例>>PHP>>正文


PHP PHPExcel_IOFactory::createReaderForFile方法代码示例

本文整理汇总了PHP中PHPExcel_IOFactory::createReaderForFile方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPExcel_IOFactory::createReaderForFile方法的具体用法?PHP PHPExcel_IOFactory::createReaderForFile怎么用?PHP PHPExcel_IOFactory::createReaderForFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PHPExcel_IOFactory的用法示例。


在下文中一共展示了PHPExcel_IOFactory::createReaderForFile方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: processCsvImport

 /**
  * Processes the uploaded CSV-file
  */
 private function processCsvImport()
 {
     $uploaded_file_name = $_FILES['csvfile']['tmp_name'];
     try {
         /** try to read excel file **/
         try {
             $objReader = PHPExcel_IOFactory::createReaderForFile($uploaded_file_name);
         } catch (Exception $e) {
             // if format could not be determined, we assume CSV
             $objReader = PHPExcel_IOFactory::createReader('CSV');
         }
         if (method_exists($objReader, "setDelimiter")) {
             // its a csv file
             $separator = urldecode($_POST['separator']);
             if (!$separator) {
                 $separator = ',';
             }
             $objReader->setDelimiter($separator);
         } else {
             // its an excel file
             $objReader->setReadDataOnly(true);
         }
         $objPHPExcel = $objReader->load($uploaded_file_name);
         $objWorksheet = $objPHPExcel->getActiveSheet();
         foreach ($objWorksheet->getRowIterator() as $row) {
             $cellIterator = $row->getCellIterator();
             $cellIterator->setIterateOnlyExistingCells(false);
             $data = array();
             foreach ($cellIterator as $cell) {
                 $data[] = $cell->getValue();
             }
             if (!$this->is_multiArrayEmpty($data)) {
                 $this->numberOfCsvCols = max($this->numberOfCsvCols, count($data));
                 $this->csvDataSets[] = $data;
             }
         }
         if (count($this->csvDataSets) == 0) {
             $this->processError = Messages::getString('No data found in input file.');
         }
     } catch (Exception $e) {
         // some error occured
         $this->processError = Messages::getString('EnterDataPage.CouldNotReadInputFile') . ' ' . $_FILES['csvfile']['error'] . " (" . $e->getMessage() . ")";
     }
     @unlink($uploaded_file_name);
 }
开发者ID:BackupTheBerlios,项目名称:reson-svn,代码行数:48,代码来源:EnterDataPage.php

示例2: __construct

 public function __construct($fileName, $csvDelimiter = null, $csvEnclosure = null, $sheetNumber = 1, $chunkSize = null, $fillMissingColumns = true, $removeCellsNotMatchingHeaderColumns = true)
 {
     $this->filename = $fileName;
     $this->sheetNumber = $sheetNumber;
     $this->fillMissingColumns = $fillMissingColumns;
     $this->removeCellsNotMatchingHeaderColumns = $removeCellsNotMatchingHeaderColumns;
     //@todo: Allow disabling chunked read
     $this->filter = new ChunkReadFilter(0, $chunkSize);
     $this->reader = \PHPExcel_IOFactory::createReaderForFile($this->filename);
     if ($this->reader instanceof \PHPExcel_Reader_CSV) {
         if ($csvDelimiter) {
             $this->reader->setDelimiter($csvDelimiter);
         }
         if ($csvEnclosure) {
             $this->reader->setEnclosure($csvEnclosure);
         }
     }
     $this->reader->setReadFilter($this->filter);
     $worksheet = $this->reloadIterator(1);
     $this->highestDataColumnName = $worksheet->getHighestDataColumn();
     $this->highestRow = $worksheet->getHighestRow();
     $this->rowIterator->rewind();
     $this->header = $this->getFilteredArrayForCurrentRow();
     foreach ($this->header as $headerIndex => &$columnHeader) {
         if (is_null($columnHeader) || $columnHeader === '') {
             $columnHeader = $headerIndex;
         } else {
             $columnHeader = trim($columnHeader);
         }
     }
     $this->rowIterator->next();
 }
开发者ID:webgriffe,项目名称:associative-spreadsheet-iterator,代码行数:32,代码来源:Iterator.php

示例3: getContents

 /**
  * get excel contents
  * @return array
  * @link http://fun-program.net/phpexcel-read-excel
  * @link http://stackoverflow.com/questions/4562527/how-to-find-out-how-many-rows-and-columns-to-read-from-an-excel-file-with-phpexc
  * @link http://stackoverflow.com/questions/27708459/getting-cell-as-string-in-phpexcel-by-column-and-row
  */
 public function getContents()
 {
     if ($this->validate()) {
         $result = [];
         $reader = PHPExcel_IOFactory::createReaderForFile($this->file->tempName);
         $reader->setReadDataOnly(false);
         $excel = $reader->load($this->file->tempName);
         $sheet = $excel->getSheetByName($this->activeSheetName);
         if (!isset($sheet)) {
             throw new Exception("取得Excel資料,發生錯誤,請確認[{$this->activeSheetName}]標籤是否存在或合法(標籤名稱必須為英文)");
         }
         $rows = $sheet->getRowIterator();
         $rowIndex = 0;
         foreach ($rows as $row) {
             $cellIndex = 0;
             $cellIterator = $row->getCellIterator();
             $cellIterator->setIterateOnlyExistingCells(false);
             $result[++$rowIndex] = [];
             foreach ($cellIterator as $cell) {
                 $result[$rowIndex][++$cellIndex] = (string) $cell->getCalculatedValue();
             }
         }
         return $result;
         /*
         // 另一種簡潔寫法
         $reader = PHPExcel_IOFactory::load($this->file->tempName);
         return $reader->getActiveSheet()->toArray(null, true, true, true);
         */
     }
     throw new Exception('must be validate excel file.', 1);
 }
开发者ID:luckily,项目名称:casehistory,代码行数:38,代码来源:ExcelUploadForm.php

示例4: import

 public function import($pathToFile)
 {
     //        $pathToFile = realpath($pathToFile);
     //        var_dump($pathToFile);
     //        $fileType = \PHPExcel_IOFactory::identify($pathToFile);
     $objReader = \PHPExcel_IOFactory::createReaderForFile($pathToFile);
     $objReader->setReadDataOnly(true);
     $objReader->setLoadSheetsOnly('Сотрудники');
     $excel = $objReader->load($pathToFile);
     //        $excel->setActiveSheetIndex(0);
     $sheet = $excel->getSheet(0);
     $rowIterator = $sheet->getRowIterator();
     $break = 0;
     foreach ($rowIterator as $row) {
         //            var_dump($row);
         var_dump('END OF ROW');
         //            var_dump($row);
         //            dd();
         foreach ($row as $cell) {
             var_dump($cell);
         }
         if ($break++ > 10) {
             dd();
         }
     }
 }
开发者ID:sasik-github,项目名称:system.pro,代码行数:26,代码来源:PhpExcelImporter.php

示例5: execute

 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $this->container = $this->getContainer();
     $this->em = $this->getContainer()->get('doctrine')->getManager();
     //$this->em->getConnection()->getConfiguration()->setSQLLogger(null);
     $this->formCSRF = $this->container->get('form.csrf_provider');
     $this->adminPool = $this->container->get('sonata.admin.pool');
     $this->user = $this->em->getRepository('ApplicationSonataUserBundle:User')->findOneBy(array('id' => $input->getArgument('user_id')));
     $this->translator = \AppKernel::getStaticContainer()->get('translator');
     $token = new UsernamePasswordToken($this->user, $this->user->getPassword(), "public", $this->user->getRoles());
     $this->getContainer()->get("security.context")->setToken($token);
     // Fire the login event
     $event = new InteractiveLoginEvent($this->getContainer()->get('request'), $token);
     $this->getContainer()->get("event_dispatcher")->dispatch("security.interactive_login", $event);
     $this->targetProcess = $input->getArgument('target');
     $this->user_id = $input->getArgument('user_id');
     $this->pid = $input->getArgument('pid');
     $file = $input->getArgument('file');
     $objReader = \PHPExcel_IOFactory::createReaderForFile($file);
     $objReader->setReadDataOnly(true);
     $objPHPExcel = $objReader->load($file);
     $sheet = $objPHPExcel->getSheet(0);
     $rows = $sheet->toArray();
     $this->processClient($rows);
     $this->messages = $this->getCountMessageImports();
     $this->sendNotification();
     echo serialize(array('messages' => $this->messages, 'import_counts' => $this->_import_counts, 'pid' => $this->pid, 'absErrorLogFilename' => $this->absErrorLogFilename));
 }
开发者ID:defan-marunchak,项目名称:eurotax,代码行数:28,代码来源:ImportClientCommand.php

示例6: read

 /**
  * read
  *
  */
 public function read($filePath)
 {
     $xlsReader = PHPExcel_IOFactory::createReaderForFile($filePath);
     $this->type = preg_replace('/^.+_/', '', get_class($xlsReader));
     $this->xls = $xlsReader->load($filePath);
     return $this;
 }
开发者ID:k1low,项目名称:xls,代码行数:11,代码来源:Xls.php

示例7: read

 public static function read($filename)
 {
     $path = Yii::$app->basePath . "/uploads/" . $filename;
     $objReader = \PHPExcel_IOFactory::createReaderForFile($path);
     //$objReader->setLoadSheetsOnly($sheets);
     $objReader->setReadDataOnly(true);
     $objPHPExcel = $objReader->load($path);
     $reader = new ExcelReader();
     foreach ($objPHPExcel->setActiveSheetIndex(0)->getRowIterator() as $row) {
         $cellIterator = $row->getCellIterator();
         $cellIterator->setIterateOnlyExistingCells(false);
         $rowData = [];
         foreach ($cellIterator as $cell) {
             if (!is_null($cell)) {
                 $rowData[] = $cell->getCalculatedValue();
             }
         }
         $reader->data[] = $rowData;
     }
     $reader->columnCount = count($reader->data[0]);
     $colrange = range(0, $reader->columnCount - 1);
     foreach ($colrange as $column) {
         $reader->columns[] = strval($column);
     }
     return $reader;
 }
开发者ID:Polymedia,项目名称:BI-Platform-v3,代码行数:26,代码来源:ExcelReader.php

示例8: parseResource

 /**
  *
  */
 public function parseResource()
 {
     $configuration = $this->getConfiguration();
     if (!ExtensionManagementUtility::isLoaded('phpexcel_library')) {
         throw new \Exception('phpexcel_library is not loaded', 12367812368);
     }
     $filename = GeneralUtility::getFileAbsFileName($this->filepath);
     GeneralUtility::makeInstanceService('phpexcel');
     $objReader = \PHPExcel_IOFactory::createReaderForFile($filename);
     $objReader->setReadDataOnly(true);
     $objPHPExcel = $objReader->load($filename);
     if ($configuration['sheet'] >= 0) {
         $objWorksheet = $objPHPExcel->getSheet($configuration['sheet']);
     } else {
         $objWorksheet = $objPHPExcel->getActiveSheet();
     }
     $highestRow = $objWorksheet->getHighestRow();
     $highestColumn = $objWorksheet->getHighestColumn();
     $highestColumnIndex = \PHPExcel_Cell::columnIndexFromString($highestColumn);
     for ($row = 1 + $configuration['skipRows']; $row <= $highestRow; ++$row) {
         $rowRecord = [];
         for ($col = 0; $col <= $highestColumnIndex; ++$col) {
             $rowRecord[] = trim($objWorksheet->getCellByColumnAndRow($col, $row)->getValue());
         }
         $this->content[] = $rowRecord;
     }
 }
开发者ID:sirdiego,项目名称:importr,代码行数:30,代码来源:Excel.php

示例9: init

 public function init()
 {
     $reader = \PHPExcel_IOFactory::createReaderForFile($this->filePath);
     /* @var $reader \PHPExcel_Reader_IReader */
     $reader->setReadDataOnly(true);
     // Load only 1st sheet
     if (method_exists($reader, 'listWorksheetNames')) {
         $sheets = $reader->listWorksheetNames($this->filePath);
         $reader->setLoadSheetsOnly(array($sheets[0]));
     }
     $this->reader = $reader;
     $this->excel = $this->reader->load($this->filePath);
     $this->excel->setActiveSheetIndex(0);
     $this->sheet = $this->excel->getActiveSheet();
     if ($this->useLabels) {
         if ($this->labels === null) {
             $this->labels = $this->readLabelsRow();
             $this->ignoredRowsCount++;
             // To pass labels row when reading data
         }
         $this->colsCount = count($this->labels);
     }
     if ($this->colsCount === null) {
         throw new Exception(__CLASS__ . '->colsCount not set.');
     }
     $this->filter = new Filter($this->colsCount);
     $reader->setReadFilter($this->filter);
 }
开发者ID:urmaul,项目名称:importreader,代码行数:28,代码来源:Reader.php

示例10: load

 /**
  * @param $path
  * @return void
  * @throws \PHPExcel_Reader_Exception
  */
 public function load($path)
 {
     //determine correct reader
     $reader = \PHPExcel_IOFactory::createReaderForFile($path);
     //load the file
     $this->object = $reader->load($path);
 }
开发者ID:vdbf,项目名称:import-php,代码行数:12,代码来源:Reader.php

示例11: select

 public function select($source)
 {
     $path = $this->connection;
     $excel = PHPExcel_IOFactory::createReaderForFile($path);
     $excel = $excel->load($path);
     $excRes = new ExcelResult();
     $excelWS = $excel->getActiveSheet();
     $addFields = true;
     $coords = array();
     if ($source->get_source() == '*') {
         $coords['start_row'] = 0;
         $coords['end_row'] = false;
     } else {
         $c = array();
         preg_match("/^([a-zA-Z]+)(\\d+)/", $source->get_source(), $c);
         if (count($c) > 0) {
             $coords['start_row'] = (int) $c[2];
         } else {
             $coords['start_row'] = 0;
         }
         $c = array();
         preg_match("/:(.+)(\\d+)\$/U", $source->get_source(), $c);
         if (count($c) > 0) {
             $coords['end_row'] = (int) $c[2];
         } else {
             $coords['end_row'] = false;
         }
     }
     $i = $coords['start_row'];
     $end = 0;
     while ($coords['end_row'] == false && $end < $this->emptyLimit || $coords['end_row'] !== false && $i < $coords['end_row']) {
         $r = array();
         $emptyNum = 0;
         for ($j = 0; $j < count($this->config->text); $j++) {
             $col = PHPExcel_Cell::columnIndexFromString($this->config->text[$j]['name']) - 1;
             $cell = $excelWS->getCellByColumnAndRow($col, $i);
             if ($cell->getDataType() == 'f') {
                 $r[PHPExcel_Cell::stringFromColumnIndex($col)] = $cell->getCalculatedValue();
             } else {
                 $r[PHPExcel_Cell::stringFromColumnIndex($col)] = $cell->getValue();
             }
             if ($r[PHPExcel_Cell::stringFromColumnIndex($col)] == '') {
                 $emptyNum++;
             }
         }
         if ($emptyNum < count($this->config->text)) {
             $r['id'] = $i;
             $excRes->addRecord($r);
             $end = 0;
         } else {
             if (DHX_IGNORE_EMPTY_ROWS == false) {
                 $r['id'] = $i;
                 $excRes->addRecord($r);
             }
             $end++;
         }
         $i++;
     }
     return $excRes;
 }
开发者ID:jekay100,项目名称:xwtec,代码行数:60,代码来源:db_excel.php

示例12: update

 /**
  * Dowloads the Spanish list of banks (from bde.es) and
  * creates/updates/deletes the corresponding BIC records.
  */
 public function update()
 {
     // First, download the file
     $file_name = sys_get_temp_dir() . '/' . CRM_Bic_Parser_ES::$country_code . '-banks.xls';
     $downloaded_file = $this->downloadFile(CRM_Bic_Parser_ES::$page_url);
     if (!$downloaded_file) {
         return $this->createParserOutdatedError(ts("Couldn't download the Spanish list of banks"));
     }
     // Save the downloaded file
     file_put_contents($file_name, $downloaded_file);
     unset($downloaded_file);
     // Automatically detect the correct reader to load for this file type
     $excel_reader = PHPExcel_IOFactory::createReaderForFile($file_name);
     // Set reader options
     $excel_reader->setReadDataOnly();
     $excel_reader->setLoadSheetsOnly(array('ENTIDADES'));
     // Read Excel file
     $excel_object = $excel_reader->load($file_name);
     $excel_rows = $excel_object->getActiveSheet()->toArray();
     // Process Excel data
     $is_header = true;
     $banks[] = array();
     foreach ($excel_rows as $excel_row) {
         if ($is_header) {
             // Get column Ids from first row
             $column_ids = array();
             foreach ($excel_row as $id => $column_name) {
                 $column_ids[$column_name] = $id;
             }
             // check, if BIC is there
             if (empty($column_ids['BIC'])) {
                 return $this->createParserOutdatedError(ts("The Spanish source file doesn't contain BICs"));
             }
             $is_header = false;
         } else {
             // If there's no bank code, I may assume we're at the end of the file
             if (!$excel_row[$column_ids['COD_BE']]) {
                 break;
             }
             // Add the office code, if it exists
             if ($excel_row[$column_ids['CODENTSUC']] == '0000') {
                 $value = $excel_row[$column_ids['COD_BE']];
             } else {
                 $value = $excel_row[$column_ids['COD_BE']] . $excel_row[$column_ids['CODENTSUC']];
             }
             // If there's a "closed date", we don't import this bank
             if (!$excel_row[$column_ids['FCHBAJA']]) {
                 $banks[] = array('value' => $value, 'name' => $excel_row[$column_ids['BIC']], 'label' => $excel_row[$column_ids['ANAGRAMA']], 'description' => '<b>CIF</b>: ' . $excel_row[$column_ids['CODIGOCIF']] . '<br>' . '<b>Phone</b>: ' . $excel_row[$column_ids['TELEFONO']] . '<br>' . '<b>Fax</b>: ' . $excel_row[$column_ids['NUMFAX']] . '<br>' . '<b>Web</b>: <a href="' . strtolower($excel_row[$column_ids['DIRINTERNET']]) . '">' . strtolower($excel_row[$column_ids['DIRINTERNET']]) . '</a><br>');
             }
         }
     }
     // Remove temporary file
     unlink($file_name);
     // Free some memory
     unset($excel_rows);
     unset($excel_object);
     unset($excel_reader);
     // Finally, update DB
     return $this->updateEntries(CRM_Bic_Parser_ES::$country_code, $banks);
 }
开发者ID:helenagarcia90,项目名称:org.project60.bic,代码行数:64,代码来源:ES.php

示例13: loadExcelFile

 public function loadExcelFile($filename)
 {
     $this->PHPExcelReader = PHPExcel_IOFactory::createReaderForFile($filename);
     $this->PHPExcelLoaded = true;
     $this->PHPExcelReader->setReadDataOnly(true);
     $excel = $this->PHPExcelReader->load($filename);
     $this->dataArray = $excel->getSheet(0)->toArray();
     return $this->dataArray;
 }
开发者ID:noibilism,项目名称:nst_portal,代码行数:9,代码来源:ExcelReaderComponent.php

示例14: getExcel

 /**
  * @param string $path
  * @return \PHPExcel_Worksheet
  */
 protected function getExcel($path, $sheet = '')
 {
     $reader = \PHPExcel_IOFactory::createReaderForFile($path);
     if ($sheet) {
         $reader->setLoadSheetsOnly(array($sheet));
     }
     /** @var \PHPExcel $excel */
     $excel = $reader->load($path);
     return $excel->getActiveSheet();
 }
开发者ID:carlos-granados,项目名称:XlsBundle,代码行数:14,代码来源:Reader.php

示例15: parse

 function parse()
 {
     $objReader = PHPExcel_IOFactory::createReaderForFile($this->file_info['tmp_name']);
     $chunkFilter = new SJB_ChunkReadFilter();
     $objReader->setReadFilter($chunkFilter);
     $objReader->setReadDataOnly(true);
     $this->data = new SJB_ImportXLSIterator();
     $this->data->setObjReader($objReader);
     $this->data->setChunkFilter($chunkFilter);
     $this->data->setFileName($this->file_info['tmp_name']);
 }
开发者ID:Maxlander,项目名称:shixi,代码行数:11,代码来源:ImportFileXLS.php


注:本文中的PHPExcel_IOFactory::createReaderForFile方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。