By default the Content Query Web Part has some preset templates, but the chance that one of them fits your needs is small if you would like to show several columns on the web part.
First you need to make enough slots for it to show by editing the ItemStyle.xsl in Style Library/XSL Style Sheets.
Make your own template and add e.g. these lines:
<div class="description"> <xsl:value-of select="@ProjectProperty.Title" /> <xsl:value-of select="@Status" /> <xsl:value-of select="@Priority" /> <xsl:value-of select='ddwrt:FormatDate(string(@DueDate),1044,1)' /> <xsl:value-of select='format-number(@PercentComplete,"#%")' /> </div>
On your webpart now, you can change the template in “presentation” to your style template.
And on the slots, you can fill in which column to show;
In my case, I didn’t know the column names, so I want to Site Settings > Galleries > Site Columns and wrote them like this: ColumnName [Group] (in my case Oppgavestatus [Kjerneoppgave- og problemkolonner] )
Tips: You can map more than one column into the slot but only the first non-blank column value will be shown.
To show these result in a table/grid view: https://williamwmy.wordpress.com/2013/04/16/presenting-content-query-web-part-items-in-a-html-table/