Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Alternative user interface? Or using MS Excel 2002 with Rebol!

 [1/4] from: Al::Bri::xtra::co::nz at: 10-Jun-2003 17:15


I've been using Rebol over the weekend and this week to generate Microsoft Excel spreadsheets using the the XMLSS (XML SpreadSheet) standard that Microsoft has. I use my ML dialect to generate the XML according to the standard on MSDN and save the string as %.xls file (instead of %.xml) and then I (or a user) can double click on the file. MS Excel launches, reads the file and presents the spreadsheet to the user, who can then interact with it, change figures and so on, then save it to the same file name. Then my Rebol scripts can read the XML in the %.xls file, extract the values, and rearrange them to generate the necessary reports using HTML and CSS stylesheets. This has allowed us in the school I work at to create and generate reports which are impossible using our existing reporting software! Andrew J Martin ICQ: 26227169 http://www.rebol.it/Valley/ http://Valley.150m.com/

 [2/4] from: Al:Bri:xtra at: 10-Jun-2003 21:42


This is a multi-part message in MIME format. ------=_NextPart_000_0018_01C32F99.2F46D9A0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Graham asked:
> How sophisticated are the spreadsheets that you can make?
I can put in styles, values of various types (naturally), formulas (in RC format).
> Can you embed images and URLs etc?
I don't yet know how to do images or URLs yet. In the final reports which are generated in HTML and CSS, I can put in images, etc.
> Got an example?
Yes, lots! :) Unfortunately, they've got lots of pupil information in them. :( So I 'Greek-ed some and attached them. :) They end up being a fairly simply spreadsheet, even though the XML is fairly complex. View the .xls files with a plain text editor to see the XML structure. You can find out more info on XMLSS here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnexcl2k2/html/odc_xmlss.asp I've also got some Rebol scripts as well? :) Andrew J Martin ICQ: 26227169 http://www.rebol.it/Valley/ http://Valley.150m.com/ -><- ------=_NextPart_000_0018_01C32F99.2F46D9A0 Content-Type: application/vnd.ms-excel; name="BK B 10SOST.xls" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="BK B 10SOST.xls" <?xml version="1.0"?> <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"><Styles><Style ss:ID="Default" ss:Name="Normal"><Alignment ss:Vertical="Bottom" ss:WrapText="1"/> <Borders/> <Font x:Family="Swiss"/> <Interior/> <NumberFormat/> <Protection/> </Style><Style ss:ID="s1"><Alignment ss:Vertical="Bottom" ss:Rotate="90" ss:WrapText="1"/> <Borders/> <Font/> </Style></Styles><Worksheet ss:Name="BK B 10SOST"> <Table><Column ss:Width="50" ss:Hidden="1"/> <Column ss:Width="120" /> <Column ss:Width="75" /> <Column ss:Width="40" /> <Column ss:Width="20" ss:Span="6"/> <Column ss:Width="500" /> <Row ss:Height="250"> <Cell><Data ss:Type="String">ID</Data></Cell><Cell><Data ss:Type="String">Family Name</Data></Cell><Cell><Data ss:Type="String">Preferred</Data></Cell><Cell><Data ss:Type="String">Form</Data></Cell><Cell ss:StyleID="s1"><Data ss:Type="String">Internal Credits Achieved to date</Data></Cell><Cell ss:StyleID="s1"><Data ss:Type="String">Internal Credits Offered to date</Data></Cell><Cell ss:StyleID="s1"><Data ss:Type="String">Internal Credits Offered all year</Data></Cell><Cell ss:StyleID="s1"><Data ss:Type="String">Predicted External Credits Achieved in Practice Exam</Data></Cell><Cell ss:StyleID="s1"><Data ss:Type="String">Predicted External Credits Offered in Practice Exam</Data></Cell><Cell ss:StyleID="s1"><Data ss:Type="String">Total Credits Achieved</Data></Cell><Cell ss:StyleID="s1"><Data ss:Type="String">Total Credits Offered</Data></Cell><Cell><Data ss:Type="String">OK?</Data></Cell></Row><Row> <Cell><Data ss:Type="String">#461285</Data></Cell><Cell><Data ss:Type="String">EBYEX</Data></Cell><Cell><Data ss:Type="String">Fozpsh</Data></Cell><Cell><Data ss:Type="String">46YG</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-5]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-4]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=IF(NOT(AND(0 <= RC[-7], RC[-7] <= RC[-6])), &quot;0 <= Internal Credits Achieved to date <= Internal Credits Offered to date!&quot;, IF(NOT(AND(0 <= RC[-4], RC[-4] <= RC[-3])), &quot;0 <= Predicted External Credits Achieved in Practice Exam <= Predicted External Credits Offered in Practice Exam!&quot;, IF(RC[-2] <> RC[-7] + RC[-4], &quot;Total Credits Achieved wrong?!&quot;, IF(RC[-1] <> RC[-5] + RC[-3], &quot;Total Credits Offered wrong?!&quot;, &quot;OK&quot;))))"><Data ss:Type="String">OK</Data></Cell></Row><Row> <Cell><Data ss:Type="String">#956283</Data></Cell><Cell><Data ss:Type="String">NWXCW</Data></Cell><Cell><Data ss:Type="String">Rovjqo</Data></Cell><Cell><Data ss:Type="String">46YG</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-5]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-4]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=IF(NOT(AND(0 <= RC[-7], RC[-7] <= RC[-6])), &quot;0 <= Internal Credits Achieved to date <= Internal Credits Offered to date!&quot;, IF(NOT(AND(0 <= RC[-4], RC[-4] <= RC[-3])), &quot;0 <= Predicted External Credits Achieved in Practice Exam <= Predicted External Credits Offered in Practice Exam!&quot;, IF(RC[-2] <> RC[-7] + RC[-4], &quot;Total Credits Achieved wrong?!&quot;, IF(RC[-1] <> RC[-5] + RC[-3], &quot;Total Credits Offered wrong?!&quot;, &quot;OK&quot;))))"><Data ss:Type="String">OK</Data></Cell></Row><Row> <Cell><Data ss:Type="String">#594879</Data></Cell><Cell><Data ss:Type="String">PYBTKOTMC</Data></Cell><Cell><Data ss:Type="String">Ohozr</Data></Cell><Cell><Data ss:Type="String">46YG</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-5]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-4]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=IF(NOT(AND(0 <= RC[-7], RC[-7] <= RC[-6])), &quot;0 <= Internal Credits Achieved to date <= Internal Credits Offered to date!&quot;, IF(NOT(AND(0 <= RC[-4], RC[-4] <= RC[-3])), &quot;0 <= Predicted External Credits Achieved in Practice Exam <= Predicted External Credits Offered in Practice Exam!&quot;, IF(RC[-2] <> RC[-7] + RC[-4], &quot;Total Credits Achieved wrong?!&quot;, IF(RC[-1] <> RC[-5] + RC[-3], &quot;Total Credits Offered wrong?!&quot;, &quot;OK&quot;))))"><Data ss:Type="String">OK</Data></Cell></Row><Row> <Cell><Data ss:Type="String">#537781</Data></Cell><Cell><Data ss:Type="String">TFLG</Data></Cell><Cell><Data ss:Type="String">Xesoqf</Data></Cell><Cell><Data ss:Type="String">46YG</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-5]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-4]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=IF(NOT(AND(0 <= RC[-7], RC[-7] <= RC[-6])), &quot;0 <= Internal Credits Achieved to date <= Internal Credits Offered to date!&quot;, IF(NOT(AND(0 <= RC[-4], RC[-4] <= RC[-3])), &quot;0 <= Predicted External Credits Achieved in Practice Exam <= Predicted External Credits Offered in Practice Exam!&quot;, IF(RC[-2] <> RC[-7] + RC[-4], &quot;Total Credits Achieved wrong?!&quot;, IF(RC[-1] <> RC[-5] + RC[-3], &quot;Total Credits Offered wrong?!&quot;, &quot;OK&quot;))))"><Data ss:Type="String">OK</Data></Cell></Row><Row> <Cell><Data ss:Type="String">#867976</Data></Cell><Cell><Data ss:Type="String">SYHEMUD</Data></Cell><Cell><Data ss:Type="String">Pttmqbq</Data></Cell><Cell><Data ss:Type="String">46YG</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-5]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-4]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=IF(NOT(AND(0 <= RC[-7], RC[-7] <= RC[-6])), &quot;0 <= Internal Credits Achieved to date <= Internal Credits Offered to date!&quot;, IF(NOT(AND(0 <= RC[-4], RC[-4] <= RC[-3])), &quot;0 <= Predicted External Credits Achieved in Practice Exam <= Predicted External Credits Offered in Practice Exam!&quot;, IF(RC[-2] <> RC[-7] + RC[-4], &quot;Total Credits Achieved wrong?!&quot;, IF(RC[-1] <> RC[-5] + RC[-3], &quot;Total Credits Offered wrong?!&quot;, &quot;OK&quot;))))"><Data ss:Type="String">OK</Data></Cell></Row><Row> <Cell><Data ss:Type="String">#633471</Data></Cell><Cell><Data ss:Type="String">KOIFV</Data></Cell><Cell><Data ss:Type="String">Bgltd</Data></Cell><Cell><Data ss:Type="String">46YG</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-5]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-4]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=IF(NOT(AND(0 <= RC[-7], RC[-7] <= RC[-6])), &quot;0 <= Internal Credits Achieved to date <= Internal Credits Offered to date!&quot;, IF(NOT(AND(0 <= RC[-4], RC[-4] <= RC[-3])), &quot;0 <= Predicted External Credits Achieved in Practice Exam <= Predicted External Credits Offered in Practice Exam!&quot;, IF(RC[-2] <> RC[-7] + RC[-4], &quot;Total Credits Achieved wrong?!&quot;, IF(RC[-1] <> RC[-5] + RC[-3], &quot;Total Credits Offered wrong?!&quot;, &quot;OK&quot;))))"><Data ss:Type="String">OK</Data></Cell></Row><Row> <Cell><Data ss:Type="String">#095907</Data></Cell><Cell><Data ss:Type="String">RGQLBKML</Data></Cell><Cell><Data ss:Type="String">Epqea</Data></Cell><Cell><Data ss:Type="String">46YG</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-5]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-4]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=IF(NOT(AND(0 <= RC[-7], RC[-7] <= RC[-6])), &quot;0 <= Internal Credits Achieved to date <= Internal Credits Offered to date!&quot;, IF(NOT(AND(0 <= RC[-4], RC[-4] <= RC[-3])), &quot;0 <= Predicted External Credits Achieved in Practice Exam <= Predicted External Credits Offered in Practice Exam!&quot;, IF(RC[-2] <> RC[-7] + RC[-4], &quot;Total Credits Achieved wrong?!&quot;, IF(RC[-1] <> RC[-5] + RC[-3], &quot;Total Credits Offered wrong?!&quot;, &quot;OK&quot;))))"><Data ss:Type="String">OK</Data></Cell></Row><Row> <Cell><Data ss:Type="String">#809267</Data></Cell><Cell><Data ss:Type="String">FOCC</Data></Cell><Cell><Data ss:Type="String">Cyse</Data></Cell><Cell><Data ss:Type="String">46YG</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-5]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-4]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=IF(NOT(AND(0 <= RC[-7], RC[-7] <= RC[-6])), &quot;0 <= Internal Credits Achieved to date <= Internal Credits Offered to date!&quot;, IF(NOT(AND(0 <= RC[-4], RC[-4] <= RC[-3])), &quot;0 <= Predicted External Credits Achieved in Practice Exam <= Predicted External Credits Offered in Practice Exam!&quot;, IF(RC[-2] <> RC[-7] + RC[-4], &quot;Total Credits Achieved wrong?!&quot;, IF(RC[-1] <> RC[-5] + RC[-3], &quot;Total Credits Offered wrong?!&quot;, &quot;OK&quot;))))"><Data ss:Type="String">OK</Data></Cell></Row><Row> <Cell><Data ss:Type="String">#624390</Data></Cell><Cell><Data ss:Type="String">PLYFYV</Data></Cell><Cell><Data ss:Type="String">Gwuv</Data></Cell><Cell><Data ss:Type="String">46YG</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-5]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-4]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=IF(NOT(AND(0 <= RC[-7], RC[-7] <= RC[-6])), &quot;0 <= Internal Credits Achieved to date <= Internal Credits Offered to date!&quot;, IF(NOT(AND(0 <= RC[-4], RC[-4] <= RC[-3])), &quot;0 <= Predicted External Credits Achieved in Practice Exam <= Predicted External Credits Offered in Practice Exam!&quot;, IF(RC[-2] <> RC[-7] + RC[-4], &quot;Total Credits Achieved wrong?!&quot;, IF(RC[-1] <> RC[-5] + RC[-3], &quot;Total Credits Offered wrong?!&quot;, &quot;OK&quot;))))"><Data ss:Type="String">OK</Data></Cell></Row><Row> <Cell><Data ss:Type="String">#827743</Data></Cell><Cell><Data ss:Type="String">VRKQCKYI</Data></Cell><Cell><Data ss:Type="String">Dnhbx</Data></Cell><Cell><Data ss:Type="String">46YG</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-5]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=RC[-4]+RC[-2]"><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=IF(NOT(AND(0 <= RC[-7], RC[-7] <= RC[-6])), &quot;0 <= Internal Credits Achieved to date <= Internal Credits Offered to date!&quot;, IF(NOT(AND(0 <= RC[-4], RC[-4] <= RC[-3])), &quot;0 <= Predicted External Credits Achieved in Practice Exam <= Predicted External Credits Offered in Practice Exam!&quot;, IF(RC[-2] <> RC[-7] + RC[-4], &quot;Total Credits Achieved wrong?!&quot;, IF(RC[-1] <> RC[-5] + RC[-3], &quot;Total Credits Offered wrong?!&quot;, &quot;OK&quot;))))"><Data ss:Type="String">OK</Data></Cell></Row><Row> <Cell><Data ss:Type="String">#731744</Data></Cell><Cell><Data ss:Type="String">OSPMIY</Data></Cell><Cell><Data ss:Type="String">Tklnws-Pdvh</Data></Cell><Cell><Data ss:Type="String">46YG</Data></Cell><Cell><Data ss:Type="Number">0</Data></Cell><Cell ss:Formula="=R2C"><Data ss:Type="Number">0</Data></Cell><

 [3/4] from: greggirwin:mindspring at: 10-Jun-2003 10:57


Sounds excellent Andrew! -- Gregg

 [4/4] from: Al:Bri:xtra at: 12-Jun-2003 20:40


Hi, Graham. Are you using MS Excel 2002? It doesn't work with older versions, MS Spreadsheet veiwer or with Open Office Calc. Andrew J Martin ICQ: 26227169 http://www.rebol.it/Valley/ http://Valley.150m.com/ -><- ----- Original Message ----- From: "Graham Chiu" <[gchiu--compkarori--co--nz]> To: "A. J. Martin" <[Al--Bri--xtra--co--nz]> Sent: Wednesday, June 11, 2003 8:50 AM Subject: Re: [REBOL] Alternative user interface? Or using MS Excel 2002 with Rebol!