My company is using version 14.2. The following is a description of what we need to do. I have 2 questions regarding the following:
1. Can it be done?
2. Are Excel xlsx formatted files supported
What we need to do.
1. Client-side we need to read either an xls for xlsx formatted Excel file.
2. We need to push the data in the Excel file to the server for further processing, but before we do we need to review each row/cell in the worksheet and perform some validation. If any problems are found with the file, we will inform the user and halt processing.
3. One column in the Excel file is reserved to report back to the user the results of the validation processing. So, for each row that has one or more problem, we will update the "status" cell to describe the problem. We then want to export the file back to the local machine where the user can review the results of the validation or forward to another user.
If we can easily import the Excel file into an igGrid and validate the data against the grid, that would be fie, but we would need to be able to autogenerate the grid based on the columns defined for the Excel file and be able to easily export the igGrid contents back to an Excel file.
Can all of this be done client-side, or will we require server-side processing as well?
I finally figured out how to point to the latest versions of the 15.2 code rather than to 14.2. Basically I used the following references, replacing the 2014.2 with 2015.2. When I do this, everything works. With 2014.2 it fails as described earlier. (I had to add the additional references to the util, documents.core, and excel to get it to work).
I appears there might be a bug with the release 14.2 code. We need a fix for this as we are not in a position to move to 15.2 at this time. We are using 14.2.2611. We are registered to receive Priority Support. Should this be requested through a different mechanism?
<script src="http://cdn-na.infragistics.com/igniteui/2015.2/latest/js/infragistics.core.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2015.2/latest/js/infragistics.lob.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2015.2/latest/js/modules/infragistics.util.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2015.2/latest/js/modules/infragistics.documents.core.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2015.2/latest/js/modules/infragistics.excel.js"></script>
<link href="http://cdn-na.infragistics.com/igniteui/2015.2/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" /> <link href="http://cdn-na.infragistics.com/igniteui/2015.2/latest/css/structure/infragistics.css" rel="stylesheet" />
It would appear that for 14.2 the er.message is a string, while for 15.2 it is a function.
Still pointing to the 14.2 version of the Infragistics code, I fixed the reference in the error function to er.message() since er.message is a property of the er object, not a function.
Now upon calling $.ig.excel.Workbook.load I get the following error message
er: TypeError: Cannot read property 'runOn' of undefined at $.ig.util.defType._a3 (http://rwsrv2012dev-1.spsinc.local/_layouts/15/SPS/Scripts/infragistics.excel.js:26:673) at $.ig.util.defType._a2 (http://rwsrv2012dev-1.spsinc.local/_layouts/15/SPS/Scripts/infragistics.excel.js:25:14757) at $.ig.util.defType._a1 (http://rwsrv2012dev-1.spsinc.local/_layouts/15/SPS/Scripts/infragistics.excel.js:25:14669) at $.ig.util.defType._load1 (http://rwsrv2012dev-1.spsinc.local/_layouts/15/SPS/Scripts/infragistics.excel.js:25:14590) at $.ig.util.defType.load (http://rwsrv2012dev-1.spsinc.local/_layouts/15/SPS/Scripts/infragistics.excel.js:25:14174) at Class.ret [as load] (http://rwsrv2012dev-1.spsinc.local/_layouts/15/SPS/Scripts/infragistics.core.js:216:27307) at FileReader.fileReader.onload (http://rwsrv2012dev-1.spsinc.local/OrapWebApiServices/importData.html:77:24)
Any idea why this error would occur?
Unfortunately, the sample didn't work. The link for the file to download, and the links for the js and css files, would not resolve.
So I pointed the js and css to the version 14.2 files we have (we are not planning to use 15.2 at the moment because it is not backward-compatible with 14.2 for all functionality. i.e. some of the options and methods are different from what we use today and we don't have the time right now to go back and re-write with more testing).
Unfortunately, this also failed when method $.ig.excel.Workbook.load was called. This triggered the error function function error(er) which also failed with the error "er.message is not a function".
My assumption is that the Excel support for 14.2 is different from what is available for 15.2 and I can't find any documentation to explain how to use the 14.2 versions.
I think this would have been great if it had worked.
Hi and thank you for posting in the Infragistics community !
I have read carefully your requirements and I am glad to tell you that the desired can be achieved using our Excel Client Side library and igGridExcelExporter - both are completely client side solutions and will enable you to load excel files, modify them on the client, populate igGrid with data from the excel, or use an existing igGrid and export the data to excel file and save the file locally.
Please see a sample attached that demonstrates how you can browse the local machine for an excel file - once you upload it the data will be used to populate an igGrid. The columns are defined based on the excel file, so you can either use the defined columns and modify them or leave the grid autogenerate them based on the data.
You can also either modify the worksheet via the Excel library or use the igGridUpdating feature to make changes. Once these changes are complete the modified worksheet can be saved locally to the machine.
Please review the sample to see if this would work for you (please note that the data in the excel should staart from the first row and first column - this is the logic in the demo used, but it can be modified for more complex scenarios). Please also tell me what kind of validation you would like to perform and I will be able to modify the sample to fully meet your requirements.
Looking forward to hearing from you.