@@ -199,7 +199,9 @@ class ReactDatatable extends Component {
199199 tableHtml += "<thead>" ;
200200 tableHtml += "<tr>" ;
201201 for ( let column of this . props . columns ) {
202- tableHtml += "<th>" + column . text + "</th>" ;
202+ if ( ( column . export !== undefined ) ?column . export :true ) {
203+ tableHtml += "<th>" + column . text + "</th>" ;
204+ }
203205 }
204206 tableHtml += "</tr>" ;
205207 tableHtml += "</thead>" ;
@@ -221,14 +223,16 @@ class ReactDatatable extends Component {
221223 let record = filterRecords [ i ] ;
222224 tableHtml += "<tr>" ;
223225 for ( let column of this . props . columns ) {
224- if ( column . cell && typeof column . cell === "function" ) {
225- let cellData = ReactDOMServer . renderToStaticMarkup ( column . cell ( record , i ) ) ;
226- cellData = this . strip ( cellData ) ;
227- tableHtml += "<td>" + cellData + "</td>" ;
228- } else if ( record [ column . key ] ) {
229- tableHtml += "<td>" + record [ column . key ] + "</td>" ;
230- } else {
231- tableHtml += "<td></td>" ;
226+ if ( ( column . export !== undefined ) ?column . export :true ) {
227+ if ( column . cell && typeof column . cell === "function" ) {
228+ let cellData = ReactDOMServer . renderToStaticMarkup ( column . cell ( record , i ) ) ;
229+ cellData = this . strip ( cellData ) ;
230+ tableHtml += "<td>" + cellData + "</td>" ;
231+ } else if ( record [ column . key ] ) {
232+ tableHtml += "<td>" + record [ column . key ] + "</td>" ;
233+ } else {
234+ tableHtml += "<td></td>" ;
235+ }
232236 }
233237 }
234238 tableHtml += "</tr>" ;
@@ -303,7 +307,9 @@ class ReactDatatable extends Component {
303307 let headers = { } ;
304308 // add columns in sheet array
305309 for ( let column of this . props . columns ) {
306- headers [ column . key ] = '"' + column . text + '"' ;
310+ if ( ( column . export !== undefined ) ?column . export :true ) {
311+ headers [ column . key ] = '"' + column . text + '"' ;
312+ }
307313 }
308314
309315 // Filter records before export
@@ -324,16 +330,18 @@ class ReactDatatable extends Component {
324330 let record = filterRecords [ i ] ,
325331 newRecord = { } ;
326332 for ( let column of this . props . columns ) {
327- if ( column . cell && typeof column . cell === "function" ) {
328- let cellData = ReactDOMServer . renderToStaticMarkup ( column . cell ( record , i ) ) ;
329- cellData = this . strip ( cellData ) ;
330- newRecord [ column . key ] = cellData ;
331- } else if ( record [ column . key ] ) {
332- let colValue = record [ column . key ] ;
333- colValue = ( typeof colValue === "string" ) ? colValue . replace ( / " / g, '""' ) : colValue ;
334- newRecord [ column . key ] = '"' + colValue + '"' ;
335- } else {
336- newRecord [ column . key ] = "" ;
333+ if ( ( column . export !== undefined ) ?column . export :true ) {
334+ if ( column . cell && typeof column . cell === "function" ) {
335+ let cellData = ReactDOMServer . renderToStaticMarkup ( column . cell ( record , i ) ) ;
336+ cellData = this . strip ( cellData ) ;
337+ newRecord [ column . key ] = cellData ;
338+ } else if ( record [ column . key ] ) {
339+ let colValue = record [ column . key ] ;
340+ colValue = ( typeof colValue === "string" ) ? colValue . replace ( / " / g, '""' ) : colValue ;
341+ newRecord [ column . key ] = '"' + colValue + '"' ;
342+ } else {
343+ newRecord [ column . key ] = "" ;
344+ }
337345 }
338346 }
339347 records . push ( newRecord ) ;
0 commit comments