Tally List : mailing list management, archiving, and analysis
click for archive home
 
Archive of:
CF-Talk
Cold Fusion - Technical
 
home
24 hour view
quick stats
weekly updates
 
all tallylists
corporate solutions
archive your favorite
help / feedback


Search the Tallylist search by keyword:

About Cold Fusion :
product's home
product's list home
 
  Archived TallyList / CF-Talk: 
Subject: RE: cf_Query2Excell
Erika L Walker (76p/+1r)     Posted: Thursday 05 Apr 2001
This post: 55 views, +0 rating

Hi Thomas... you got a small typo in there....if you cut and paste your code from the email into studio, it is at line #166

<cfset TheString "#TheColValue#">

should be

<cfset TheString = "#TheColValue#">

Looks pretty cool!

Erika

"Money is not required to buy one necessity of the soul."-Henry David Thoreau

-------------------------------- AIM: WebErika5 Yahoo: WebErika MSN: WebErika AskMe.com Expert: WebErika -------------------------------- Erika L. Walker Vice President RUWebby, LLC 973-626-2412 (c) 973-244-9120 (o) 153 Rutgers Lane Parsippany, NJ 07054 -------------------------------- Website Design/Programming Database Integration Allaire Partner - ColdFusion --------------------------------

-----Original Message----- From: Thomas Chiverton [mailto:thomas.chiverton@exodus.net] Sent: Thursday, April 05, 2001 8:27 AM To: CF-Talk Subject: RE: cf_Query2Excell

As the list strips attachments: <!--- NAME: CF_Query2Excel

AUTHOR: Ali Taleb

DATE: 3 March 2000

REV: 4/4/2001 Thomas Chiverton, thomas.chiverton@exodus.net Improved error handerling for blank fields in rows Takes note of Headers setting and uses that to order columns

DESCRIPTION: Cold Fusion custom tag to dump the result of an SQL select query to a downloadable Microsoft Excel spreadsheet which can have alternating row colors.

USAGE EXAMPLE (1): <CF_Query2Excel Query="GetEmployees">

USAGE EXAMPLE (2): <CF_Query2Excel Query="GetEmployees" Headers="Firt Name, Last Name, Date of Birth" AlternatColor = "ff0000">

USAGE EXAMPLE (3): <CF_Query2Excel Query="GetEmployees" AlternatColor = "green">

Where 'GetEmployees' is the query name.

ATTRIBUTES: Query - (Required) Name of query to be converted to Excel. Headers - (Optional) Comma delimited list of coloumn header names. Defaults to all query fields. Message - (Optional) Prompt link message to download the Excel File. Defaults to 'Download Results to Excel'. AlternateColor - (Optional) The rows can have alternating colours, white and a second colour defined by this attribute. Default is 'White'.

IMPORTANT: - As this tag invokes a download dialogue window (and hence not allow the actual page calling it to be displayed), It is best to place it in a ...cfm page containing just the query followed by the tag, and then linking to that page with an HTML link.

- The 'AlternateColor' Attribute MUST NOT begin with the number symbol '#', otherwise an error will be generated. There is no means of rectifying this in ColdFusion 4.01. as the problem is giving the custom tag attribute variable a value preceeding with '#', rather than just deleting the symbol which is an easy thing to do. As an example, For red you can type: AlternateColor = "red" or AlternateColor = "ff0000" but NOT AlternateColor = "#ff0000". --->

<cfif Not IsDefined("Attributes.Query")> <cfoutput><div align="center"><b>Error! 'Query' attribute is required in your custom tag.</b></div></cfoutput> <cfabort> </cfif>

<cfset QueryName = "Caller." & #Attributes.Query#> <cfset NumRows = Evaluate(QueryName & ".RecordCount")>

<cfparam name="Attributes.Headers" default=#Evaluate(QueryName & ".ColumnList")#> <cfset TheColumnList = #Attributes.Headers#>

<cfif ListLen(Evaluate(QueryName & ".ColumnList")) gt ListLen(Attributes.Headers)> <cfoutput><div align="center"><b>Error! There are more query fields than the items in the 'Headers' list.</cfoutput> <cfabort> <cfelseif ListLen(Evaluate(QueryName & ".ColumnList")) gt ListLen(TheColumnList)> <cfoutput><div align="center"><b>Error! There are more values in the 'Headers' list than the fields returned by the query.</cfoutput> <cfabort> </cfif>

<cfparam name="Attributes.AlternateColor" default="ffffff"> <cfparam name="Attributes.Type" default="application/vnd.ms-excel">

<cfset Counter = 1>

<cfloop query="#QueryName#">

<cfset TheValueList = "">

<cfloop list="#TheColumnList#" index="TheValue"> <cfset TheValue = #Trim(TheValue)#>

<cfset TheValue = #Evaluate(QueryName & "." & TheValue)#> <cfset TheValue = Replace(TheValue, ",", "¦¦", "All")>

<cfset TheValueList = ListAppend(TheValueList,TheValue)>

<cfset temp = SetVariable("ValueList#Counter#", "#TheValueList#")> </cfloop>

<cfset Counter = Counter + 1>

</cfloop>

<cfset AlternateColor = #Attributes.AlternateColor#>

<cfcontent type="#Attributes.Type#">

<cfset CharWidth = 10> <cfset numcols=0> <table border="1"> <tr bgcolor="#C0C0C0"> <cfloop list="#Attributes.Headers#" index="TheColTitle"> <cfset TheString = "#TheColTitle#"> <cfset TheLength = Len(#TheString#) * #charwidth#>

<cfoutput> <th width="#TheLength#"><b>#TheString#</b></th> </cfoutput> <cfset numcols=numcols+1> </cfloop> </tr>

<cfset ColorList = "ffffff,#AlternateColor#">

<cfloop from="1" to="#NumRows#" index="n">

<cfif ColorList is "ffffff,#AlternateColor#"> <cfset ColorList = "#AlternateColor#,ffffff"> <cfelse> <cfset ColorList = "ffffff,#AlternateColor#"> </cfif>

<cfloop list="#ColorList#" index="c"> <cfset CurrentColor = #ListGetAt(c,1)#> </cfloop>

<cfset temp = SetVariable("CurrentList", Evaluate("ValueList#n#"))>

<cfset CurrentList = Replace(CurrentList, ",,", ", ,", "All")> <cfset CurrentList = Replace(CurrentList, ",,", ", ,", "All")>

<cfoutput> <tr bgcolor="#CurrentColor#"> </cfoutput> <cfset num=0> <cfloop list="#CurrentList#" index="TheColValue"> <cfset num=num+1> <cfset TheString "#TheColValue#"> <cfset TheLength = Len(#TheString#) * #charwidth#>

<cfif Len(TheColValue) is 0> <cfset TheString = " "> </cfif>

<cfset TheString = Replace(TheString, "¦¦", ",", "All")>

<cfoutput> <td width="#TheLength#">#TheString#</td> </cfoutput>

</cfloop> <cfif #Evaluate(numcols - num)# neq 0> <cfloop from="1" to ="#Evaluate(numcols - num)#" index="i"> <td> </td> </cfloop> </cfif> </tr> </cfloop> </table>


Similar Subject Line Posts (+/- two weeks of this post)
RE: cf_Query2Excell  05 Apr 2001   (132 v/ +0 r)
RE: cf_Query2Excell  05 Apr 2001   (63 v/ +0 r)
RE: cf_Query2Excell  05 Apr 2001   (54 v/ +0 r)
RE: cf_Query2Excell  05 Apr 2001   (60 v/ +0 r)
RE: cf_Query2Excell  05 Apr 2001 (this post)   (55 v/ +0 r)
RE: cf_Query2Excell  05 Apr 2001   (62 v/ +0 r)
cf_Query2Excell  05 Apr 2001   (63 v/ +0 r)
 

Send a reply to the CF-Talk list!
click to send a reply! NOTE: Many lists will reject your post unless you have already registered with them. Also - don't forget the right account to send from (for those with multiple emails!)

Feedback: If this post was exceptionally helpful, please help by giving this post a positive review.

 

TallyList : copyright Ububik - 2000