Exporting issues grouped by components is simple using the example below. 
This example will also count the number of issues associated with each component.

${set(RepeatComponent, 0)}

&{for issues}

#{for components}

#{if (%{'${RepeatComponent}'.indexOf('${Components[n].Name}') == -1})}

Component: ${Components[n].Name}

${set(RepeatComponent, %{'${RepeatComponent}'.concat('[${Components[n].Name}]')})}

${jqlcount: component = '${Components[n].Name}'}

#{for m=JQLIssuesCount|clause=component = '${Components[n].Name}'}

  • ${JQLIssues[m].Key} | ${JQLIssues[m].Summary}

#{end}

#{end}

#{end}

#{end}

&{end}

Exported document: