Hello ,
Please help me to add comment using WorksheetShow (http://www.igniteui.com/help/api/2016.1/ig.excel.WorksheetRow.html#methods:setCellComment). Its mentioned that I need to use setcellcomment method for inserting comment . Can some one provide me an example on using this method.
I previsously used http://www.igniteui.com/help/api/2016.1/ig.excel.WorksheetCellComment . But Its adding Blank Comment and that text is not getting inserted . I raised the issue http://ko.infragistics.com/community/forums/p/107145/505601.aspx#505601 but got no response.
Appreciate your help .
Thanks,
Bala
Hello
I'm suggesting you to continue our communication from http://ko.infragistics.com/community/forums/p/107145/505601.aspx#505601 in this thread if you are OK with this.
:) I just did .. Thanks again . Please help me to resolve this . Let me know if ou need any further information
Hi Petko Petkov ,
I am working in a Single page application. I hava a page which has tabs and when the user click a tab I call UploadExcel function.
Javascript :
function UploadExcel() { $("#input").on("change", function () { var excelFile, fileReader = new FileReader();
$("#result").hide();
fileReader.onload = function (e) {
var buffer = new Uint8Array(fileReader.result);
$.ig.excel.Workbook.load(buffer, function (workbook) {
var column, row, newRow, cellValue, columnIndex, i, worksheet = workbook.worksheets(0), columnsNumber = 0, gridColumns = [], data = [], worksheetRowsCount;
// Both the columns and rows in the worksheet are lazily created and because of this most of the time worksheet.columns().count() will return 0 // So to get the number of columns we read the values in the first row and count. When value is null we stop counting columns: while (worksheet.rows(0).getCellValue(columnsNumber)) { columnsNumber++; }
// Iterating through cells in first row and use the cell text as key and header text for the grid columns for (columnIndex = 0; columnIndex < columnsNumber; columnIndex++) { column = worksheet.rows(0).getCellText(columnIndex); //gridColumns.push({ headerText: column, key: column }); gridColumns.push(column); }
//Getting the Excel data // We start iterating from 1, because we already read the first row to build the gridColumns array above // We use each cell value and add it to json array, which will be used as dataSource for the grid for (i = 1, worksheetRowsCount = worksheet.rows().count() ; i < worksheetRowsCount; i++) { newRow = {}; row = worksheet.rows(i);
for (columnIndex = 0; columnIndex < columnsNumber; columnIndex++) { cellValue = row.getCellText(columnIndex); newRow[gridColumns[columnIndex]] = cellValue; }
data.push(newRow); }
//Addded the code for testing comment insertion var comment = new $.ig.excel.WorksheetCellComment(); var formatted = new $.ig.excel.FormattedString('This is a comment'); comment.Text = formatted; workbook.worksheets(1).rows(2).cells(4).comment(comment);
createGrid(validatedData, gridColumns);
saveWorkbook(workbook, "test.xlsx");
$("#import-submit").attr("disabled", false); // we can also skip passing the gridColumns use autoGenerateColumns = true, or modify the gridColumns array
}, function (error) { //Need to be changed $("#result").text("The excel file is corrupted."); $("#result").show(1000); }); }
if (this.files.length > 0) { excelFile = this.files[0]; if (excelFile.type === "application/vnd.ms-excel" || excelFile.type === "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" || (excelFile.type === "" && (excelFile.name.endsWith("xls") || excelFile.name.endsWith("xlsx")))) { fileReader.readAsArrayBuffer(excelFile); } else { $("#result").text("The format of the file you have selected is not supported. Please select a valid Excel file ('.xls, *.xlsx')."); $("#result").show(1000); } }
}) }
function saveWorkbook(workbook, name) { workbook.save({ type: 'blob' }, function (data) { var delay = 500; //1 second delay makes the download to work in FireFox setTimeout(function () { saveAs(data, name); }, delay); }, function (error) { alert('Error exporting: : ' + error); }); }
HTML :
<div> <input type="file" class="span6" style="padding-left: 6px;" id="input" accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> <div id="result"></div> <table id="gridBulkLoadTmpt"></table> </div>
Let me know if you need any further info.
Balakumar
Hi Balakumar Ezhilmaran,
I was able to reproduce your issue. I'm still on it and I will let you know what my findings are when I'm done with investigation.
Hello Petko Petkov ,
Thanks a lot. Waiting for your response.
It seems you have used text setting of comment wrongly. The proper way is to use text() method instead of assigning of Text field. So the following code should do the work:
//Addded the code for testing comment insertion var wsc = new $.ig.excel.WorksheetCellComment(); var formatted = new $.ig.excel.FormattedString("This is a comment"); wsc.text(formatted); // get desired cell. In this case - the last one var cell = worksheet.rows(worksheetRowsCount - 1).cells(columnsNumber - 1); cell.comment(wsc);
Its working .Thanks a lot for your response :) .
I have a clarificaiton . The Ignite UI Js files which is used , Are these Opensource ?.
I'm glad we could help you.
The answer to your question you can find here: Is Ignite UI Opensource ?