Advertisement
jamo

ColdFusion9 SpreadsheetAddRow() Test

Jun 27th, 2011
523
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <cfsetting requestTimeout="65000">
  2. <CFPARAM NAME="URL.NumberofRows" DEFAULT="500">
  3. <CFPARAM NAME="URL.NumberofColumns" DEFAULT="7">
  4.  
  5. <CFOUTPUT>
  6. <b>Problem reported by developer:</b> Using SpreadsheetAddRow() with 7 columns and 500 rows of data with no formatting crashes or locks up ColdFusion 9.<br>
  7.  
  8. <form action="#CGI.Script_name#" method="get">
  9. <b>Number of Rows:</b> <input type="text" name="NumberofRows" value="#VAL(URL.NumberofRows)#" size=3 maxlength=3>
  10. <b>Number of Columns:</b> <input type="text" name="NumberofColumns" value="#VAL(URL.NumberofColumns)#" size=2 maxlength=2>
  11. <input type="submit" name="Go" value="Generate Excel File">
  12. </form>
  13. </CFOUTPUT>
  14.  
  15. <CFSET URL.NumberofColumns = val(URL.NumberofColumns) - 3>
  16. <CFIF NOT StructKeyExists(URL, "Go") OR VAL(URL.NumberofRows) LTE 0 OR VAL(URL.NumberofColumns) LTE 0>
  17.     <CFEXIT>
  18. </CFIF>
  19.  
  20. <CFSILENT>
  21.  
  22. <CFSET o = SpreadsheetNew("AddRowTest")>
  23. <CFLOOP index="x" FROM="1" TO="#URL.NumberofRows#">
  24.     <CFSET ExtraData = ArrayNew(1)>
  25.     <CFLOOP FROM="1" TO="#VAL(URL.NumberofColumns)#" INDEX="this">
  26.         <CFSET ArrayAppend(ExtraData, RandRange(1,500, "SHA1PRNG"))>
  27.     </CFLOOP>
  28.     <CFSET SpreadsheetAddRow(o,"Row #x#,#Now()#,#GetTickCount()#,#ArrayToList(ExtraData)#", X)>
  29. </CFLOOP>
  30.  
  31. <CFSET bin = SpreadsheetReadBinary(o)>
  32.  
  33. <CFHEADER NAME="Content-Disposition" VALUE="attachment; filename=AddRowTest_#dateFormat(now(), 'ddmmmyyyy')#.xls">
  34. <CFCONTENT TYPE="application/vnd-ms.excel" VARIABLE="#bin#" RESET="true">
  35. </CFSILENT>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement