Excel cf1导致变量未定义错误的电子表格
我正在尝试使用cfspreadsheet读取在多个选项卡上具有预定义图表的电子表格,但在处理数据时,我得到的变量是未定义的 我使用了Adobe的例子- 我还看了其他示例,但这些示例使用cfspreadsheet和poi或java的组合,如果可能的话,我更愿意只使用cfspreadsheet。你知道我下面的代码是从哪里来的吗?谢谢Excel cf1导致变量未定义错误的电子表格,excel,coldfusion,cfspreadsheet,Excel,Coldfusion,Cfspreadsheet,我正在尝试使用cfspreadsheet读取在多个选项卡上具有预定义图表的电子表格,但在处理数据时,我得到的变量是未定义的 我使用了Adobe的例子- 我还看了其他示例,但这些示例使用cfspreadsheet和poi或java的组合,如果可能的话,我更愿意只使用cfspreadsheet。你知道我下面的代码是从哪里来的吗?谢谢 <cfcontent type="application/vnd.ms-excel" reset="Yes"> <cfquery name="Get
<cfcontent type="application/vnd.ms-excel" reset="Yes">
<cfquery name="GetData" datasource="#request.dsn#">
SELECT *
FROM v_Occurrences
</cfquery>
<cfset strFileName = "OccurrenceData" & "#now().getTime()#" & "#UserID#">
<!---
<cfdump var="#GetData#">
--->
<cfset filepath = "file:///...OccurenceData.xls">
<!--- Write the two sheets to a single file --->
<cfspreadsheet
action ="read"
columnnames = "Occurence_Date,Full_Name_Client"
columns = "2"
excludeHeaderRow = "false"
headerrow = "1"
query="GetData"
rows = "2"
src ="#filepath#">
<cfscript>
OccurrenceData = SpreadsheetNew("Data");
Month = SpreadsheetNew("Month");
Person = SpreadsheetNew("Person");
SpreadsheetAddRows(occurrencedata,getdata);
</cfscript>
<!--- Write the two sheets to a single file --->
<cfspreadsheet
action="write"
filename="#filepath#"
name="OccurrenceData"
overwrite="true"
sheetname="Data" >
<cfspreadsheet
action="Update"
filename="#filepath#"
name="Month"
sheetname="Month">
<cfspreadsheet
action="Update"
filename="#filepath#"
name="Person"
sheetname="Person" >
<cfspreadsheet
action="read"
src="#filepath#"
sheetname="occurrencedata"
query="GetData">
错误发生的地方是:变量发生率\u数据未定义
<cfscript>
SpreadsheetAddRow(OccurrenceData,"Date,Name",1,1);
SpreadsheetAddRow(OccurrenceData,
"#Dateformat(Occurrence_Date,'mm/dd/yyyy')#,#Full_Name_Client#",
2,1,true);
</cfscript>
<cfspreadsheet
action="write"
autosize="true"
filename="#strFileName#.xls"
overwrite="true"
password="password"
query="GetData"
sheetname="Data" >
问题1。这可能弊大于利
<cfcontent type="application/vnd.ms-excel" reset="Yes">
你可以这样做:
OccurrenceData = SpreadsheetNew("Data");
// do stuff with this sheet
SpreadsheetCreateSheet(OccurrenceData, "Month");
SpreadSheetSetActiveSheetNumber(OccurrenceData, 2);
// do stuff with this sheet
SpreadSheetWrite(OccurrenceData, whateverYourFileNameIs);
我还建议你一次做一件事。编写一些代码,运行它,然后查看结果。然后再添加一点代码,运行它,并查看结果。这将帮助您隔离导致错误的代码。因此,我调整了代码并将其简化为以下内容,没有收到任何错误,但我也没有收到excel工作表-只是一个空白屏幕。我知道我需要调整SpreadsheetAddRow行以循环我的数据,以便您可以看到以下更改:spObj=SpreadsheetNewData;电子表格AddRowsSPBJ,getdata;电子表格ADDROWSPOBJ,日期,名称,1,1;电子表格CreateSheetsBobj,月;电子表格集活动表格编号SPOBJ,2;spObj=电子表格新数据;对于i=1;我
OccurrenceData = SpreadsheetNew("Data");
// do stuff with this sheet
SpreadsheetCreateSheet(OccurrenceData, "Month");
SpreadSheetSetActiveSheetNumber(OccurrenceData, 2);
// do stuff with this sheet
SpreadSheetWrite(OccurrenceData, whateverYourFileNameIs);