skip to Main Content

following is the function i have used for exporting file:
excelStyles: [
{
id: ‘header’,
interior: {
color: ‘#aaaaaa’,
pattern: ‘Solid’,
},
},
{
id: ‘body’,
dataType : ‘string’,
interior: {
color: ‘#dddddd’,
pattern: ‘Solid’,
},
},
]

function exportToExcel (){
var sheetNameVal = "Btest";

    var params = {
            skipPinnedTop : false,
            sheetName :      sheetNameVal
    }
    params.processCellCallback = function(params) {
        var val = params.value ;
        if(/^d+$/.test(val))
            val = " "+val;
        else if(params.column.colDef.dataType=="Date/Time"){
            if(val)
                val = val.length>10 ? val.substring(0,10) : val;
        }else if(!_.isEmpty(params.column.colDef.refData)){
            val = params.column.colDef.refData[val];
        }
        if((params.column.colDef.field).includes("_TRX_AMT")){
            var trxCurr = params.node.data.TRX_CURRENCY ;
            val = FormatCurrency2(val,trxCurr);
        }
        return val;
    };
    gridOptions.api.exportDataAsExcel(params);
}

now if suppose one of my cell has value = ‘000000180’ when i export it to excel the value is changed to 180. i have tried converting it to string using val = " "+val but somehow it didn’t work.

2

Answers


  1. You can set the type of the excelStyle to String:

    https://www.ag-grid.com/angular-data-grid/excel-export-data-types/

    As an alternative, instead of adding a " ", you can add "’" in front of your value.

    The character ‘ will not be visible in Excel.

    Login or Signup to reply.
  2. Process the cell as a string, that way it won’t get converted to a number which would lead to the leading 0’s being removed.

    You’ve got the right idea in trying val = " "+val but I what I think you need to do is:

    val = "'" + val
    

    to actuall convert it to a string.

    Demo.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search