Issue regarding Excel export

Permalink Browser Info Environment
Just purchased and installed this add-on yesterday. It's a nice update from the built-in forms block.

I have a form set up with multiple questions containing checkbox groups with 8 options. Site visitor should be able to select multiple checks within each question.

After submitting the form, the submitted data displays correctly in the dashboard and in the email.

The Excel export function isn't exporting the data in the proper location.

The generated table doesn't include the checkmark symbol (✔) at all. Instead, it contains only the VALUE of the first checked item in the list -- pushed to the last column of that question.

I actually would prefer the VALUE of the checked items to appear (like the dashboard view and the email view).

Any suggestions on how to get the results I want?

Type: Discussion
Status: New
invision
View Replies:
invision replied on at Permalink Reply
invision
I've been told there is an issue with multiple versions of the same form. I have deleted any other forms created with this add-on, but I do have other forms created with the original form block. I'm still getting the same problem.

In the exported Excel, each checkbox answer has its own column, eight total for each question. The question is repeated in the export as its own column, spanning all 8 columns containing the answers. The only answer appearing in each question is the first checked answer, but it's appearing in the 8th column of answers, even if there's more than one question. Like this:

<table>
<tr>
   <td colspan="8">Sat August 8</td>
</tr>
<tr>
   <td>Shift 1a</td>
   <td>Shift 1b</td>
   <td>Shift 1c</td>
   <td>Shift 1d</td>
   <td>Shift 1e</td>
   <td>Shift 1f</td>
   <td>Shift 1g</td>
   <td>Shift 1h</td>
</tr>
<tr>


Hope this helps clarify what's happening. I've been looking at the 'excel' function that starts at line 19 in dashboard/reports/extended_form.php. Looks like the problem lies in the 'checkbox row' section starting at line 75, but I can't see what's wrong.

Looks like it's parsing the data collected in the form using 'explode()' function to separate data with '%%'. I'm thinking it's adding extra <td> cells because of a mistake in the function.

Any help would be greatly appreciated.
DeWebmakers replied on at Permalink Reply
DeWebmakers
Thanks for the full explanation!
invision replied on at Permalink Reply
invision
I'm thinking the issue is in the 'for' that starts around line 106... perhaps when the 'explode' function is creating the array, empty fields are messing things up?

I'm not that experienced in troubleshooting php code. Do you know of a programming environment that allows one to step thru code and view variables as values are assigned? I think it would help me troubleshoot this.

Sherm
bsmschool replied on at Permalink Reply
bsmschool
*EDIT

This modification seems to have fixed the problem:

Line 127:

elseif ($i-1 == count($options)) {
                        echo $subanswers[count($subanswers)-1];
                        break;


--


I'm seeing a very similar issue in the excel export with the checkbox field.

The checkbox field adds one column for each option. Instead of displaying a check mark, the last column in the list will instead display the numeric value of the last value checked.

For example: Checkbox with options of 1,2,3,4,5. If i were to check 1,2, and 3, the report would show a check for 1,2,3 and the number "3" in the 5 column. If i check 1,2,3,4,5, columns 1,2,3,4 would show a check, and column five would have a "5" in the column.
DeWebmakers replied on at Permalink Reply
DeWebmakers
Hi,

Could it be a problem of your Excel version? I use 2007 and have no problems with the exportation of the submissions.

concrete5 Environment Information

Browser User-Agent String

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You have not specified a license for this support ticket. You must have a valid license assigned to a support ticket to request a refund.