Skip to content

Commit 393e364

Browse files
committed
Added export column feature support
1 parent f1fc2a5 commit 393e364

File tree

1 file changed

+28
-20
lines changed

1 file changed

+28
-20
lines changed

src/index.js

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)