Copy link to clipboard
Copied
So this is my first time using CFSpreadSheet. I'm pulling a 3500 row Excel spreadsheet in as a query. I'm the looking at the email addresses as a Valuelist and querying a database table to pull in additional elements. Then I use a query of queries to match the data and write the rows to a new Excel file. Just outputting the results to HTML is very fast, but CFSpreadsheet seems like an incredible hog! I do have some logic associated at the row level, highlighting records of a certain status.
Does everyone have this issue? Is there any way to speed it up?
And, when I wasn't using QoQ to match the sets, just running a query for each individual row, it would get to 575 lines and crap out with the following error.
"String index out of range: -1 "
Not very descriptive. It wasn't data related because I used different datasets, but it would always stop at that row count, on both my local instance on my desktop machine and on my dedicated test server as well.
Now, since moving it to QofQ, reducing the calls to the database server to only one, I'm getting the error repeatedly at 1347 and it still can't be attributed to a specific data record.
String index out of range: -1 | |
The error occurred in C:/ColdFusion10/cfusion/wwwroot/Excel/cf~QofQExcel.cfm: line 48 | |
46 : 47 : <cfset myRow = "'#myFile.ATTRIBUTE_VALUE#','#myFile.EMAIL1#','#myFile.FIRSTNAME#','#myFile.LASTNAME#','#myFile.ORDERS_ID#','#myFile.ORGNAME#','#Trim(NumbersOnly(myFile.PHONE1))#','#myFile.TIMEPLACED#','#myFile.TOTALPRODUCT#','#myFile.TOTALSHIPPING#','#myFile.TOTALTAXSHIPPING#','#getStatus.cust_name#','#getStatus.cust_num#','#getStatus.curr_order#','#getStatus.delete_date#',#DateFormat(getStatus.date_Entered,'MM/DD/YYYY')#"> 48 : <cfset SpreadsheetAddRow(sObj, "#myRow#")> 49 : <!--- <cfif #getStatus.curr_order# NEQ "IN"> 50 : <cfset SpreadsheetFormatRow(sObj, {color="red"}, dataRow)> |
Copy link to clipboard
Copied
When in doubt, look at your data.
Do a cfdump on the myRow Variable before you run the SpreadSheetAddRow function. Chances are that one of your variables is an empty string. If so, that is probably messing you up.