Whatever message this page gives is out now! Go check it out!
streamingSpreadsheetProcess(source [, options],rowProcessor)| Name | Required | options | rowProcessor |
| source | Yes | String | File path of the spreadsheet to be read. |
| options | No | Struct | A struct containing the configuration of reading the streaming spreadsheet. The keys are:
|
| rowProcessor | Yes | UDF | Method to run for each row. This method accepts two parameters - spreadsheet object and row number. It needs to return spreadsheet object. |
<cfscript>
theFile=GetDirectoryFromPath(GetCurrentTemplatePath()) & "streamingSpreadsheetProcessInput.xlsx";
theFile1=GetDirectoryFromPath(GetCurrentTemplatePath()) & "streamingSpreadsheetProcessOutput.xlsx";
obj = streamingSpreadsheetNew("theSheet",4)
SpreadsheetAddRow(obj,"150,ENGL1,,",1,1);
SpreadsheetAddRow(obj,"150,ENGL2,97,Poetry 1",2,1);
for ( i=3;i<=10000;i++){
SpreadsheetAddRow(obj,"150,ENGL,95,Poetry 1",i,1);
}
spreadsheetwrite(obj, theFile,"",true,false);
myFormat = StructNew();
myFormat.color = "blue";
myFormat.bold = "true";
myFormat.underline = "true";
myFormat.alignment = "center";
myFormat.font = "Arial";
secondFormat = StructNew();
secondFormat.color = "red";
secondFormat.bold = "true";
secondFormat.underline = "true";
secondFormat.alignment = "center";
secondFormat.font = "Arial";
function func(spreadsheetObj, row)
{
if(row % 2 eq 1){
SpreadsheetFormatRow(spreadsheetObj, myFormat, row);
}else{
SpreadsheetFormatRow(spreadsheetObj, secondFormat, row);
}
return spreadsheetObj
}
processedSpreadsheet = StreamingSpreadsheetProcess(#theFile#, func)
writeoutput(processedSpreadsheet.SummaryInfo.SPREADSHEETTYPE)
spreadsheetwrite(processedSpreadsheet, "#theFile1#", "", "yes", "no")
</cfscript><cfscript>
theFile=GetDirectoryFromPath(GetCurrentTemplatePath()) & "streamingSpreadsheetInput.xlsx";
theFile1=GetDirectoryFromPath(GetCurrentTemplatePath()) &"streamingSpreadsheetOutput.xlsx";
obj = streamingSpreadsheetNew("theSheet",4)
SpreadsheetAddRow(obj,"150,ENGL1,1,",1,1);
SpreadsheetAddRow(obj,"150,ENGL2,97,Poetry 1",2,1);
for ( i=3;i<=100000;i++){
SpreadsheetAddRow(obj,"150,ENGL,95,Poetry 1",i,1);
}
spreadsheetwrite(obj, theFile,"",true,false);
myFormat = StructNew();
myFormat.color = "blue";
myFormat.bold = "true";
myFormat.underline = "true";
myFormat.alignment = "center";
myFormat.font = "Arial";
secondFormat = StructNew();
secondFormat.color = "red";
secondFormat.bold = "true";
secondFormat.underline = "true";
secondFormat.alignment = "center";
secondFormat.font = "Arial";
function func(spreadsheetObj, row)
{
if(row % 2 eq 1){
SpreadsheetFormatRow(spreadsheetObj, myFormat, row);
}else{
SpreadsheetFormatRow(spreadsheetObj, secondFormat, row);
}
return spreadsheetObj
}
function writeResult(spreadsheetObj) {
spreadsheetwrite(spreadsheetObj, "#theFile1#", "", "yes", "no")
}
processedSpreadsheet = StreamingSpreadsheetProcess(#theFile#, func,{"sheetName":"theSheet", "async":true})
processedSpreadsheet.then(writeResult)
data =processedSpreadsheet.get();
writeoutput(data.SummaryInfo.SPREADSHEETTYPE)
writeOutput(" ")
writeoutput(data.SummaryInfo.SHEETNAMES)
fileExist = FileExists(theFile1);
writeOutput(" ")
writeOutput("#fileExist#")
writeOutput(" ")
</cfscript>