Tim, Rick,

Currently working on a similar problem.

Rick,would you mind sending your Perl version as a short term fix.
Tim keep me in the loop re developments on the CF Side

Appreciate that

Regards

D


Daryl Fullerton,
Managing Partner,
BizNet Solutions,
Allaire Premier Partner (Ireland)
133 - 137 Lisburn Road
Belfast
BT9 7AG
N.Ireland

Direct +44 (0) 28 9022 7888
Tel  +44 (0) 028 9022 3224
Fax +44 (0) 028 9022 3223


[EMAIL PROTECTED]
Http://www.BizNet-Solutions.com

[EMAIL PROTECTED] (Chairman)
Http://www.cfug.ie The Irish Cold Fusion User Group

-----Original Message-----
From: Tim Dempsey [mailto:[EMAIL PROTECTED]]
Sent: 05 December 2000 13:21
To: CF-Talk
Subject: Re: How can I use CF to push data into a statistical package or
an Ex cel spreadsheet?


Thanks very much Rick. This is really helpful. And, if you would, can
you
send the working Perl version to me at [EMAIL PROTECTED] ?  I'd
appreciate that, too.

Thanks again,
  -- Tim Dempsey
----- Original Message -----
From: "Rick Osborne [Mojo]" <[EMAIL PROTECTED]>
To: "CF-Talk" <[EMAIL PROTECTED]>
Sent: Monday, December 04, 2000 8:17 PM
Subject: RE: How can I use CF to push data into a statistical package or
an
Ex cel spreadsheet?


> Tim Dempsey asked:
> > How do I take that data and get it into Excel on the client's
machine?
>
> We had to do something like this last month (with Doughnut charts
instead
of
> Pie charts, but it's close enough).  I never could get it to work 100%
in
> CF, as Excel wouldn't honor my Quit() command and would just stay
open,
> leaving lots of little zombies all over the place.  However, on a whim
I
> translated it into Perl and got it to work that way.  (And, oddly
enough,
> the Perl version is *much* easier on the eyes, for once.)
>
> Anyway, I apologize for the minimal documentation, but this was really
just
> a quick hack for me.  YMMV and all that.  If you ever figure out the
Quit()
> problem, let me know.  I'd love to know what I'm doing wrong.  Also,
if
you
> want the (working) Perl version, let me know and I'll send it via
separate
> channels (as I figured I'd get flamed 'til the end of time if I posted
Perl
> to this list).  It's much smarter and does things like palette
conversion
> (so that you aren't stuck with Excel's default colors), and other
neat-o
> tricks.
>
> -R
>
> <CFSETTING ENABLECFOUTPUTONLY="YES" SHOWDEBUGOUTPUT="No">
>
> <!---
>   graph/doughnut.cfm
> --->
>
> <!---
>   Constants
> --->
> <CFSET xlWorksheet=-4167>
>
> <CFINCLUDE TEMPLATE="../../include/_ext2attr.cfm">
> <CFPARAM NAME="Attributes.Height" DEFAULT="200">
> <CFPARAM NAME="Attributes.Width" DEFAULT="200">
> <CFPARAM NAME="Attributes.Rows" DEFAULT="0">
> <CFPARAM NAME="Attributes.Cols" DEFAULT="0">
> <CFPARAM NAME="Attributes.Title" DEFAULT="">
> <CFPARAM NAME="Attributes.Legend" DEFAULT="0">
> <CFPARAM NAME="Attributes.Type" DEFAULT="gif">
> <CFSET Attributes.Height=Attributes.Height*0.749999999>
> <CFSET Attributes.Width=Attributes.Width*0.749999999>
> <CFSET FileName="">
>
> <CFTRY>
>   <CFTRY>
>     <CFOBJECT ACTION="CONNECT" TYPE="COM" CLASS="Excel.Application"
> NAME="App">
>   <CFCATCH>
>     <CFOBJECT ACTION="CREATE" TYPE="COM" CLASS="Excel.Application"
> NAME="App">
>   </CFCATCH>
>   </CFTRY>
>   <CFSET Workbooks=App.Workbooks>
>   <CFSET Workbook=Workbooks.Add(xlWorksheet)>
>   <CFLOOP COLLECTION="#Workbook.WorkSheets#" ITEM="Sheet">
>     <CFLOOP FROM="1" TO="#Attributes.Rows#" INDEX="Row">
>       <CFLOOP FROM="1" TO="#Attributes.Cols#" INDEX="Col">
>         <CFSET ColLetter=Chr(Col + Asc('A') - 1)>
>         <CFSET CellName="vr#Row#c#Col#">
>         <CFIF StructKeyExists(Attributes,CellName)>
>           <CFSET Range=Sheet.Range("#ColLetter##Row#")>
>           <CFSET Range.Value=Attributes[CellName]>
>         </CFIF>
>       </CFLOOP>
>     </CFLOOP>
>     <CFSET ColLetter=Chr(Attributes.Cols + Asc('A') - 1)>
>     <CFSET SourceRange=Sheet.Range("A1:#ColLetter##Attributes.Rows#")>
>     <CFSET ChartObjects=Sheet.ChartObjects()>
>     <CFSET
Chart=ChartObjects.Add(0,0,Attributes.Width,Attributes.Height)>
>     <CFSET Donut=Chart.Chart>
>     <CFSET Donut.ChartWizard(SourceRange, -4120, 1, 2, 1, 0)>
>     <CFSET Series=0>
>     <CFLOOP FROM="1" TO="#DecrementValue(Attributes.Cols)#"
INDEX="Series">
>       <CFSET Ser=Donut.SeriesCollection(Series)>
>       <CFSET Ser.HasDataLabels=0>
>       <CFLOOP FROM="1" TO="#Attributes.Rows#" INDEX="Row">
>         <CFSET Cellname="c_#Series#_#Row#">
>         <CFIF StructKeyExists(Attributes,CellName)>
>           <CFSET CellColor=Attributes[CellName]>
>           <CFOUTPUT><P>Resetting color #CellColor#</P></CFOUTPUT>
>           <CFIF Left(CellColor,1) IS "##">
>             <CFSET CellColor=InputBaseN(Mid(CellColor,6,2) &
> Mid(CellColor,4,2) & Mid(CellColor,2,2),16)>
>           </CFIF>
>           <CFSET Point=Ser.Points(Row)>
>           <CFSET Interior=Point.Interior>
>           <CFSET Interior.Color=CellColor>
>         </CFIF>
>       </CFLOOP>
>     </CFLOOP>
>     <CFIF Attributes.Title IS "">
>       <CFSET Donut.HasTitle=0>
>       <CFSET PlotArea=Donut.PlotArea>
>       <CFSET PlotArea.Top=0>
>       <CFSET PlotArea.Left=0>
>       <CFSET PlotArea.Height=Attributes.Height-8>
>       <CFSET PlotArea.Width=Attributes.Width-8>
>     <CFELSE>
>       <CFSET Donut.HasTitle=1>
>       <CFSET ChartTitle=Donut.ChartTitle>
>       <CFSET ChartTitle.Caption=Attributes.Title>
>     </CFIF>
>     <CFIF Attributes.Legend>
>       <CFSET Donut.HasLegend=1>
>     <CFELSE>
>       <CFSET Donut.HasLegend=0>
>     </CFIF>
>     <CFSET Border=Chart.Border>
>     <CFSET Border.LineStyle=-4142>
>     <CFSET
FileName="c:\temp\Doughnut#CreateUUID()#.#Attributes.Type#">
>     <CFSET Donut.Export(FileName,Attributes.Type,0)>
>     <CFSET Donut.Delete()>
>   </CFLOOP>
> <CFCATCH TYPE="Any">
>   <CFOUTPUT>
> <H1>Error</H1>
> <P>#CFCATCH.Message#</P>
> <BLOCKQUOTE>#CFCATCH.Detail#</BLOCKQUOTE>
>   </CFOUTPUT>
> </CFCATCH>
> </CFTRY>
>
> <CFSET WorkBook.Saved=-1>
> <CFSET App.Quit()>
> <CFSET App="">
>
> <CFIF FileName IS NOT "">
>   <CFCONTENT TYPE="image/#Attributes.Type#" FILE="#FileName#"
> DELETEFILE="Yes">
> </CFIF>
>
> <CFSETTING ENABLECFOUTPUTONLY="NO">
>
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm

Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to