Upgrade to 7.0-2.x and received the following error during the update process...

Fatal error: require_once(): Failed opening required '/sites/all/modules/feeds_excel/ExcelParser.inc' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /includes/bootstrap.inc on line 3157

Manually copied ExcelParser.inc from previous version and got the following error:

Fatal error: require_once(): Failed opening required 'includes/ExcelRange.inc' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /sites/all/modules/feeds_excel/ExcelParser.inc on line 3

Manually copied ./includes/ from previous version and got the following error:

Warning: require_once(includes/ExcelRange.inc): failed to open stream: No such file or directory in require_once() (line 3 of /sites/all/modules/feeds_excel/ExcelParser.inc).

Flushed caches and error message disappeared. Attempted to upload Excel file and got the following error:

An AJAX HTTP error occurred. HTTP Result Code: 200 Debugging information follows. Path: /batch?id=14222&op=do StatusText: OK ResponseText: Fatal error: Call to undefined function _feeds_excel_include_libraries() in /sites/all/modules/feeds_excel/ExcelParser.inc on line 50

Switched from "ExcelParser uses the phpExcelReader library" to the other Excel Parser in the custom importer settings and received the following error:

PHPExcel missed

Attempted to revert back to version 7.x-1.0-beta1 and files no longer import correctly. One new node is created for each row, but the only data imported is the first cell of the header row instead of the actual data. Importer also has to manually unlocked.

Basically everything is now broken and we can't import Excel files. Please help soonest.

Comments

jaredcampbell created an issue. See original summary.

jaredcampbell’s picture

I created a need feed importer with settings exactly the same as the previous. I only changed the parser from the Excel parser to the CSV parser. Saved the .xls files to .csv (using LibreOffice) and the feed import worked perfectly.

When editing the Excel version of my feed importer, the following error appears at the top:

Warning: Illegal string offset 'parse_type' in FeedsExcelParser->configForm() (line 225 of /sites/all/modules/feeds_excel/FeedsExcelParser.inc).

mrromios’s picture

Hi there!
Did you follow all steps from README.txt?

Fatal error it is ctools plugin cache issue. To solve need to truncate cache table manually.

Did you install phpExcel lib?
Can you send me you feeds importer settings?

Thanks.

jaredcampbell’s picture

StatusFileSize
new3.12 KB
new9.5 KB

Darth... Yes PHPExcel is installed in the libraries directory per the README. Everything was working prior to upgrading the module from 7.x-1.0-beta1 to 7.x-2.0. The only thing that changed was running the module update through the web admin interface in Drupal. Everything works by changing the parser to CSV and saving the XLS file as CSV.

I attached the feeds importer code as well as a template of the Excel file used.

Typically, the Excel file is populated with a team name (string) and trivia scores (integers).

mrromios’s picture

I see problem in settings. Looks like conflict from previous module settings.

'parser' => array(
    'plugin_key' => 'FeedsExcelParser',
    'config' => array(
      'sheets' => '',
      'chunk_size' => 10,
      'no_headers' => 0,
      'calculate' => 0,
    ),
  ),

Key "sheets" should be array.

'parser' => array(
    'plugin_key' => 'FeedsExcelParser',
    'config' => array(
      'sheets'     => array(
        'parse_type'  => 'all',
        'parse_value' => '',
        'map_title'   => '',
      ),
      'chunk_size' => 10,
      'no_headers' => 0,
      'calculate' => 0,
    ),
  ),

To make module workable need to uninstall 7.x-1.x version and install 7.x-2.x.
Or you can change settings manually.

jaredcampbell’s picture

StatusFileSize
new13.42 KB
new3.24 KB

Okay... I went into the Excel parser settings and resaved the Sheet Settings to "All Sheets". Checked the code and 'sheets' is now an array.

Attempted to upload an XLS file and still received the "PHPExcel missed" error (see attached screenshot).

I've attached the updated importer export.

Only 7.x-2.0 is installed. All other versions are uninstalled.

mrromios’s picture

Are you sure that PHPExcel installed correctly and chmod is correct??

jaredcampbell’s picture

It hasn't moved or changed since before upgrading this module to 7.x-2.0.

- /sites/all/libraries/PHPExcel
- chmod 644
- chown/chgrp is same as all other Drupal files
- version 1.8.0

mrromios’s picture

But 7.x-1.x version uses phpExcelReader.

jaredcampbell’s picture

StatusFileSize
new23.13 KB
new63.08 KB

Okay... double checked for phpExcelReader and ExcelParser.inc and the includes folder was in the feeds_excel folder. Deleted those files.

Compared the existing module files against a fresh download of 7.x-2.0 of the module. Everything looks the same. Flushed all caches to be safe. Still received the "PHPExcel missed" error.

I've attached screenshots of the feeds_excel and PHPExcel directories.

BTW... thanks for the quick response rate.

mrromios’s picture

StatusFileSize
new7.85 KB

Something wrong with library. Should be as on screenshot.

jaredcampbell’s picture

Wow... That directory tree is radically different. I have no idea what happened to our version of the PHPExcel library. =/

Uploaded a fresh PHPExcel 1.8.0 download from github. Scores are now being successfully uploaded again, but found two additional, minor problems:

1. The "PIC" column mapping was broken (no data imported for the column/field). Determined that the column mappings are now case sensitive. Changing the mapping to "Pic". Issue resolved.

2. If the value in a cell is 0 (zero, not null), then the imported field becomes a null value, not a zero. Couldn't find a setting to correct this. Thoughts?

mrromios’s picture

Good) So, the problem was in wrong library.
1. Yep. I implemented case sensetivity.
2. I will check asap and write solution here.

jaredcampbell’s picture

1. Can case sensitivity be a setting that can be turned on and off?

2. Thanks

  • darth romios committed 5e67868 on 7.x-2.x
    Issue #2661300 by darth romios: Fatal error in ExcelParser.inc after...
mrromios’s picture

2. If the value in a cell is 0 (zero, not null), then the imported field becomes a null value, not a zero. Couldn't find a setting to correct this. Thoughts?

Fixed in 7.x-2.1

mrromios’s picture

Status: Active » Fixed
mrromios’s picture

Status: Fixed » Closed (fixed)
jaredcampbell’s picture

StatusFileSize
new18.56 KB

Sorry it took a little while to get this into the update cycle and testing.

Updated Feeds to version 7.x-2.0-beta2 and Feeds Excel to 7.x-2.1 and everything has completely bombed out.

Now importing both XLS and CSV files (using separate importers) produces an AJAX error.

An AJAX HTTP error occurred. HTTP Result Code: 500 Debugging information follows. Path: /batch?id=15209&op=do StatusText: Service unavailable (with message) ResponseText: Recoverable fatal error: Argument 5 passed to number_feeds_set_target() must be of the type array, boolean given, called in /sites/all/modules/feeds_xls/feeds_xls.module on line 257 and defined in number_feeds_set_target() (line 37 of /sites/all/modules/feeds/mappers/number.inc).

We are now no longer able to use the CSV import as a backup option and are completely dead in the water. =/

mrromios’s picture

Hi
Maybe something was changed in feeds core. Will fix ASAP.

jaredcampbell’s picture

I reverted Feeds back to 7.x-2.0-beta and Feeds Excel back to 7.x-2.0.

Tested everything: XLS files still failed per above and CSV files worked as before.

I then updated just Feeds Excel to 7.x-2.1.

Both the CSV and XLS worked by having null fields instead of 0's.

The issue in #19 might be related the Feeds -beta2... My penance for trying to update two modules at once. =/

mrromios’s picture

Both the CSV and XLS worked by having null fields instead of 0's.

This was fixed in 7.x-2.1