Hello, Maybe it is out of topic but what can I suggest if users like excel so much....
I always use Office Web Components XP (http://www.microsoft.com/downloads/details.aspx?FamilyID=982B0359-0A86-4FB2-A7EE-5F3A499515DD&displaylang=en) because many of them have only Office XP even nowadays ;) In intranet company web server I create virtual dir OWC and then I store file owc10.exe - office web components executable. In web application I have script spreadsheet.js with code document.write('<OBJECT id="mainSpreadsheet" style="WIDTH: 100%; HEIGHT: 100%" codeBase="../owc/owc10.exe" classid="clsid:0002E541-0000-0000-C000-000000000046" VIEWASTEXT>'); document.write('<PARAM NAME="DataType" VALUE="XMLDATA">'); document.write('<PARAM NAME="AllowPropertyToolbox" VALUE="-1">'); document.write('<PARAM NAME="AutoFit" VALUE="0">'); document.write('<PARAM NAME="Calculation" VALUE="-4105">'); document.write('<PARAM NAME="Caption" VALUE="Microsoft Office Spreadsheet">'); document.write('<PARAM NAME="DisplayColumnHeadings" VALUE="-1">'); document.write('<PARAM NAME="DisplayGridlines" VALUE="-1">'); document.write('<PARAM NAME="DisplayHorizontalScrollBar" VALUE="-1">'); document.write('<PARAM NAME="DisplayOfficeLogo" VALUE="-1">'); document.write('<PARAM NAME="DisplayPropertyToolbox" VALUE="0">'); document.write('<PARAM NAME="DisplayRowHeadings" VALUE="-1">'); document.write('<PARAM NAME="DisplayTitleBar" VALUE="0">'); document.write('<PARAM NAME="DisplayToolbar" VALUE="-1">'); document.write('<PARAM NAME="DisplayVerticalScrollBar" VALUE="-1">'); document.write('<PARAM NAME="DisplayWorkbookTabs" VALUE="-1">'); document.write('<PARAM NAME="EnableEvents" VALUE="-1">'); document.write('<PARAM NAME="MaxHeight" VALUE="80%">'); document.write('<PARAM NAME="MaxWidth" VALUE="80%">'); document.write('<PARAM NAME="MoveAfterReturn" VALUE="-1">'); document.write('<PARAM NAME="MoveAfterReturnDirection" VALUE="-4121">'); document.write('<PARAM NAME="RightToLeft" VALUE="0">'); document.write('<PARAM NAME="ScreenUpdating" VALUE="-1">'); document.write('<PARAM NAME="EnableUndo" VALUE="-1">'); document.write('</OBJECT>'); and in the page I have <table height="100%" cellSpacing="0" cellPadding="0" width="100%"> <tr> <td> <script src="script/spreadsheet.js"></script> </td> </tr> </table> ActiveX IE activation fix ;) in another javascript file I have function which handles click event on some button function getSomeDataTable(){ document.body.style.cursor='wait'; SomeNamespace.Methods.GetSomeDataTable(getSomeDataTableCallback); } on server side there is class Methods with [AjaxMethod] public DataTable GetSomeDataTable() the code in this method is trivial so I don't write it here. Now in script a have function function getAgregatesCallback(res){ if(res.error){ alert(res.error.Message); } else { var spr = document.getElementById("mainSpreadsheet"); spr.Range("A1").Value = "ID"; spr.Range("B1").Value = "Name"; var tbl = res.value; var lnt = Math.min(tbl.Rows.length, 65535); if(tbl.Rows.length>lnt){ alert("Too much data"); } for(var i=0;i<lnt;i++){ var r = tbl.Rows[i]; spr.Range("A"+(i+2).toString()).Value = r.ID; spr.Range("B"+(i+2).toString()).Value = r.Name; } } document.body.style.cursor='default'; } Thats all! The real trick is that in the same way you can specify for example versioned formulas from db into some cells. Power of web spreadsheet ;) Best regards AdaskoTheBeAsT --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ajax.NET Professional" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/ajaxpro The latest downloads of Ajax.NET Professional can be found at http://www.ajaxpro.info/ Don't forget to read my blog at http://weblogs.asp.net/mschwarz/ -~----------~----~----~----~------~----~------~--~---
