Plugin / Gravity Forms Entries in Excel

Doeke Norg

Frequently Asked Questions (FAQ)

No problem. You can use the gfexcel_output_meta_info or gfexcel_output_meta_info_{form_id} hooks to disable this feature. Or (since version 1.4.0) you can select individual fields you want to exclude on the settings page. Just add this to your functions.php: add_filter("gfexcel_output_meta_info","__return_false");
Sure, makes sense. You can override the label hooking into gfexcel_field_label, gfexcel_field_label_{type}, gfexcel_field_label_{type}_{form_id} or gfexcel_field_label_{type}{form_id}{field_id} The field object is provided as parameter, so you can check for type and stuff programatically.
You can override the value by hooking into gfexcel_field_value, gfexcel_field_value_{type}, gfexcel_field_value_{type}_{form_id} or gfexcel_field_value_{type}_{form_id}_{field_id} The entry array is provided as a parameter, so you can combine fields if you want.
Great question! Yes you can! You can set it on the setting spage, or make use of the following hooks to get that working: gfexcel_field_separated_{type}{form_id}{field_id} where every variable is optional.
You should ask yourself, if your field can handle this plugin! But, yes it can. In multiple ways actually. The default way the plugins renders the output, is by calling get_value_export on the field. All Gravity Forms fields need that function, so make sure that is implemented. The result is one column with the output combined to one cell per row. But you can also make your own field-renderer, like this: Make a class that extends GFExcel\Field\BaseField (recommended) or extends GFExcel\Field\AbstractField or implements GFExcel\Field\FieldInterface Return your needed columns and cells by implementing getColumns and getCells. (See AddressField for some inspiration) Add your class via the gfexcel_transformer_fields hook as: type => Fully Qualified Classname (eg. $fields[‘awesome-type’] => ‘MyTheme\Field\MyAwsomeField’)
By now you really should know you can change almost every aspect of this plugin. Don’t like the name? Change it using the settings page, or by using the gfexcel_renderer_filename or gfexcel_renderer_filename_{form_id} hooks. Also you can update title, subject and description metadata of the document by using gfexcel_renderer_title({form_id}), gfexcel_renderer_subject(_{form_id}) and gfexcel_renderer_description({form_id}).
Sure, why not. By default we sort on date of entry in acending order. You can change this, per form, on the Form settings page (Results in Excel) under “Settings”.
Allright! No need to yell! For those situation we’ve added a bulk option on the forms table. As a bonus, you can select multiple forms, and it will download all results in one file, on multiple worksheets (oohhh yeah!)
You can disable the hyperlinks by using the gfexcel_renderer_disable_hyperlinks-hook. //add this to your functions.php add_filter('gfexcel_renderer_disable_hyperlinks','__return_true');
A numberfield is formatted as a number, but most fields default to a string. As of this moment, there are 3 field types. Boolean,String and Numeric. You can set these per field. //add this to your functions.php use GFExcel\Values\BaseValue; add_filter('gfexcel_value_type',function($type, $field) { if($field->formId == 1 && $field->id == 2) { //Possible values are 'bool', 'string' or 'numeric', //or, use the constant, preffered: return BaseValue::TYPE_NUMERIC; //TYPE_STRING, TYPE_BOOL } }, 10, 2);
Since most values are Value Objects, we can interact with them, and trigger a setUrl function on a value. //add this to your functions.php add_filter('gfexcel_value_object',function($value, $field) { if($field->formId == 1 && $field->id == 2) { $value->setUrl(''); } }, 10, 2);
By default the notes are disabled for performance. If you’d like to add these to the row you can activate this like so: //add this to your functions.php add_filter('gfexcel_field_notes_enabled','__return_true'); //or add_filter('gfexcel_field_notes_enabled_{formid}','__return_true'); // eg. gfexcel_field_notes_enabled_2
Definitely! You get to change: text color, background color, bold and italic. If that is not enough, you probably just need to add those Clip Arts yourself! //add this to your functions.php add_filter('gfexcel_value_object', function (BaseValue $value, $field, $is_label) { // Need to know if this field is a label? if (!$is_label) { return $value; } $value->setColor('#ffffff'); //font color, needs a six character color hexcode. #fff won't cut it here. $value->setBold(true); // Bold text $value->setItalic(true); // Italic text (to be combined with bold) $value->setBackgroundColor('#0085BA'); // background color // $field is the GF_Field object, so you can use that too for some checks. return $value; }, 10, 3);
Yes, this can happen. And to be frank (actually, I’m not, I’m Doeke), this isn’t something that can be fixed. As a default, WordPress allocates 40 MB of memory. Because the plugin starts the rendering pretty early, it has most of it available. But every cell to be rendered (even if it’s empty) takes up about 1KB of memory. This means that you have (roughly) 40 MB * 1024 KB = 40.960 Cells. I say roughly, because we also use some memory for calculations and retrieving the data. If you’re around this cell-count, and the renderer fails; try to upgrade the WP_MEMORY_LIMIT. Checkout Woocommerce’s Docs for some tips.
You got something to hide, eh? We got you “covered”. You can hide a row by adding a hook. Why a hook and not a nice GUI? Because everyone has different reasons for hiding stuff. So I couldn’t come up with a better solution for now. Checkout this example: add_filter('gfexcel_renderer_hide_row', function ($hide, $row) { foreach ($row as $column) { if ($column->getFieldId() === 1 && empty($column->getValue())) { return true; // hide rows with an empty field 1 } } return $hide; // don't forget me! }, 10, 2);


23 reviews

Rating breakdown

Details Information



First Released

29 Aug, 2017

Total Downloads


Wordpress Version

4.0 or higher

Tested up to:


Require PHP Version:

7.1 or higher





The information provided in this THEME/PLUGIN DIRECTORY is made available for information purposes only, and intended to serve as a resource to enable visitors to select a relevant theme or plugin. wpSocket gives no warranty of any kind, express or implied with regard to the information, including without limitation any warranty that the particular theme or plugin that you select is qualified on your situation.

The information in the individual theme or plugin displayed in the Directory is provided by the owners and contributors themselves. wpSocket gives no warranty as to the accuracy of the information and will not be liable to you for any loss or damage suffered by you as a consequence of your reliance on the information.

Links to respective sites are offered to assist in accessing additional information. The links may be outdated or broken. Connect to outside sites at your own risk. The Theme/Plugin Directory does not endorse the content or accuracy of any listing or external website.

While information is made available, no guarantee is given that the details provided are correct, complete or up-to-date.

wpSocket is not related to the theme or plugin, and also not responsible and expressly disclaims all liability for, damages of any kind, arising out of the use, reference to, or reliance on, any information or business listed throughout our site.

Keep Leading Your Followers!
Share it for them.