void Model_QueryCellInfo(object sender, GridQueryCellInfoEventArgs e)
        {
            var dataContext = AssociatedObject.DataContext as ExcelImportViewModel;

            if (dataContext != null)
            {
                SetExcelLikeUI(e);
                if (e.Cell.RowIndex <= 0 || e.Cell.ColumnIndex <= 0)
                {
                    return;
                }
                GridModel gridModel = sender as GridModel;
                if (!e.Style.IsChanged && e.Style.IsEmpty)
                {
                    int        index = dataContext.ActiveTabIndex;
                    IWorksheet sheet = dataContext.Workbook.Worksheets[index];
                    if (sheet != null)
                    {
                        IRange range = sheet.Range;
                        if (e.Cell.RowIndex >= range.Row && e.Cell.ColumnIndex >= range.Column)
                        {
                            IRange rangeToConvert = sheet.Range[e.Cell.RowIndex, e.Cell.ColumnIndex];
                            GridModelImportExtensions.ConvertExcelRangeToVirtualGrid(e.Style, sheet, rangeToConvert, null);
                            if (gridModel != null && e.Style.FormulaTag == null)
                            {
                                string s = e.Style.Text;
                                if (s.Length > 0 && s[0] == '=')
                                {
                                    s = s.Substring(1);
                                    try
                                    {
                                        gridModel.FormulaEngine.FormulaContextCell = GridRangeInfo.GetAlphaLabel(e.Cell.ColumnIndex) + e.Cell.RowIndex.ToString();
                                        e.Style.FormulaTag = new GridFormulaTag(gridModel.FormulaEngine.Parse(s), null, e.Cell.RowIndex, e.Cell.ColumnIndex);
                                        string cellvalue = rangeToConvert.DisplayText;
                                        e.Style.FormulaTag.Text = cellvalue;
                                    }
                                    catch (Exception ex)
                                    {
                                        e.Style.FormulaTag = new GridFormulaTag(ex.Message, ex.Message, e.Cell.RowIndex, e.Cell.ColumnIndex);
                                    }
                                }
                            }
                            gridModel.Data[e.Cell.RowIndex, e.Cell.ColumnIndex] = e.Style.Store;
                        }
                    }
                }
                else
                {
                    // To save the modified value.
                    int        index        = dataContext.ActiveTabIndex;
                    IWorksheet changedSheet = dataContext.Workbook.Worksheets[index];
                    if (changedSheet != null)
                    {
                        IRange range = changedSheet.Range[e.Cell.RowIndex, e.Cell.ColumnIndex];
                        SetAlignment(range, e.Style);
                    }
                }
            }
        }