SmartClient_v101p_2016-02-16_PowerEdition
I am exporting a grid to Excel using exportCLientData. The field in question uses a custom field formatter, which displays the quarter from a date. It displays in the grid, but Excel is still showing the date. I even set exportRawValues to false for the field in question.
REPRO steps
============
1. Load the test case
2. Observe that the Quarter column shows the year and quarter of the date
3. Execute the command "ExportXLS" to export to Excel
4. Open the XLS and observe that Quarter displays the date instead of the quarter as shown in the grid
I am exporting a grid to Excel using exportCLientData. The field in question uses a custom field formatter, which displays the quarter from a date. It displays in the grid, but Excel is still showing the date. I even set exportRawValues to false for the field in question.
REPRO steps
============
1. Load the test case
2. Observe that the Quarter column shows the year and quarter of the date
3. Execute the command "ExportXLS" to export to Excel
4. Open the XLS and observe that Quarter displays the date instead of the quarter as shown in the grid
Code:
<!DOCTYPE html> <html> <head> <title></title> <style> .diagInfo { font-size: 14px; font-weight: bold; padding: 5px; } </style> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Core.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Foundation.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Containers.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Grids.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Forms.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_DataBinding.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Drawing.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_PluginBridges.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/system/modules/ISC_Charts.js"></script> <script type="text/javascript" SRC="http://localhost:8080/isomorphic/skins/EnterpriseBlue/load_skin.js"></script> <script type="text/javascript" > var isomorphicDir="http://localhost:8080/isomorphic/"; // set this to the correct JIRA ticket var JIRA_TICKET = "SNT-12963"; // test data var data = [ { project: "123 Avenue", path:"East->GA->Atlanta->Engineering", redflag: "", owner: "University of MD", ins: 33, obs: 231, unsafe: 9, safe: 222, insDate: new Date(2011, 12, 10), score:"<img src='star-4.png'/>55%", score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "Long Project Name", path:"East->PA->Pittsburgh->Engineering",redflag: "", owner: "Staples", ins: 33, obs: 231, unsafe: 9, safe: 80, insDate: new Date(2011, 12, 10), score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "6789 Avenue B", path:"East->PA->Pittsburgh->Finance",redflag: "", owner: "University of MD", ins: 33, obs: 23, unsafe: 9, safe: 222, insDate: new Date(2016, 7, 10), score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "123 Avenue", path:"East->PA->Pittsburgh->Maintenance",redflag: "", owner: "University of MD", ins: 33, obs: 231, unsafe: 9, safe: 222, insDate: new Date(2011, 12, 10), score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "Feliz Navidad", path:"East->VA->Newport News",redflag: "", owner: "University of MD", ins: 33, obs: 1, unsafe: 9, safe: 222, insDate: new Date(2011, 12, 10), score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "123 Avenue", path:"East->VA->Newport News->Engineering",redflag: "", owner: "University of MD", ins: 33, obs: 231, unsafe: 9, safe: 10, insDate: new Date(2016, 3, 10), score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "Whitehouse Lawn Maintenance", path:"East->PA->Philadelphia->Electrical",redflag: "", owner: "University of MD", ins: 33, obs: 231, unsafe: 9, safe: 220, insDate: new Date(2011, 12, 10), score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" }, { project: "123 Avenue", path:"East->PA->Philadelphia->Electrical", redflag: "", owner: "Staples", ins: 33, obs: 1, unsafe: 9, safe: 222, insDate: new Date(2011, 12, 10), score:"<img src='star-4.png'/>55%", link:"<a href=''>View Analysis</a>" } ]; isc.DataSource.create({ ID: "ds", fields: [ {name:"project", title:"Project", type:"text" }, {name:"insDate", title:"Quarter", type:"date"}, {name:"owner", type:"text", title:"Owner"}, {name:"ins", type:"integer", title:"#Inspections"}, {name:"obs", type:"integer", title:"#Observations"} ], cacheData:data, clientOnly: true }); // once page loads set some diagnostic information, DO NOT CHANGE isc.Page.setEvent("load", function() { document.title = JIRA_TICKET + " (SmartClient version " + isc.versionNumber + ")"; var html = []; html.push("Jira: " + JIRA_TICKET); html.push("SmartClient: " + isc.versionNumber); html.push("Browser: " + navigator.appCodeName + " " + navigator.appName + " " + navigator.appVersion); diagLabel.setContents( html.join("<br>")); }); // for charts and grids that display trending periods, this method will convert the date // into a nice to read format getQuarter = function(date) { var year = date.getFullYear(); var month = date.getMonth() + 1; if(month < 4) return year + " Quarter 1"; else if(month < 7) return year + " Quarter 2"; else if(month < 10) return year + " Quarter 3"; else if(month < 13) return year + " Quarter 4"; } var exportXLS = function() { var opts = { exportAs : "ooxml", exportDisplay : "download", exportFilename : JIRA_TICKET + ".xlsx" } grid.exportClientData(opts); } </script> </head> <body> <script> // ===== DO NOT REMOVE ===== var diagLabel = isc.Label.create({ ID: "diagInfo", width: "100%", styleName: "diagInfo", autoFit: true }); // ===== DO NOT REMOVE ===== // basic grid var grid = isc.ListGrid.create({ dataSource: ds, dataFetchMode : "local", autoFetchData: true, clientOnly: true, position: "relative", width : "100%", align : "center", autoFitData : "vertical", autoFitMaxHeight : 400, alternateRecordStyles : true, canAddFormulaFields : true, canAddSummaryFields : true, canGroupBy : true, canReorderFields : true, showGroupSummary : true, useAdvancedFieldPicker: true, advancedFieldPickerThreshold: 5, autoDraw: false, badFormulaResultValue: "NA", canMultiGroup: true }); // the main page layout - place all other components afetr diagLabel var layout = isc.VLayout.create({ width:"100%", membersMargin: 20, members: [ // ===== DO NOT REMOVE diagLabel diagLabel, // ===== place anty components here grid ] }); grid.getField("insDate").exportRawValues = false; grid.getField("insDate").formatCellValue = function(value, record, rowNum, colNum, grid) { return getQuarter(value); }; grid.getField("obs").formatCellValue = function(value, record, rowNum, colNum, grid) { return value.toFixed(3); }; </script> </body> </html>
Comment