Earlier Solution:
<table>
<tr>
<th>Header1</th>
<th>Header2</th>
<th>Header3</th>
<th class="visible-desktop">Header4</th>
<th class="visible-desktop">Header5</th>
<th class="visible-desktop">Header6</th>
<th class="visible-desktop">Header7</th>
</tr>
<tr>
<td>Data1</td>
<td>Data2</td>
<td>Data3</td>
<td class="visible-desktop">Data4</td>
<td class="visible-desktop">Data5</td>
<td class="visible-desktop">Data6</td>
<td class="visible-desktop">Data7</td>
</tr>
</table>
Edit:
So you mean you want this for small screens:
H1 H2 H3
D1 D2 D3
H4 H5 H6 H7
D4 D5 D6 D7
And then how do you plan to have the next row of data? like this? :
H1 H2 H3
D1 D2 D3
H4 H5 H6 H7
D4 D5 D6 D7
H1 H2 H3
D8 D9 D10
H4 H5 H6 H7
D11 D12 D13 D14
Well this doesn't make a very good UI in a small screen!
However if you still want to do it then I would recommend you use span divs instead of tables.
In That Case something like this:
<div class='span12'> //Entire row1 which will be split into 2 for smaller screens
<div class='span6'>
<div class='span2'>
<table>
<tr>
<td>H1</td>
</tr>
<tr>
<td>D1</td>
</tr>
</table>
</div>
<div class='span2'>
<table>
<tr>
<td>H2</td>
</tr>
<tr>
<td>D2</td>
</tr>
</table>
</div>
<div class='span2'>
<table>
<tr>
<td>H3</td>
</tr>
<tr>
<td>D3</td>
</tr>
</table>
</div>
</div>
<div class='span6'>
/*And so on*/
</div>
</div>
<div class='span12'> //Entire row1 which will be split into 2 for smaller screens
...
</div>