説明
Excel スプレッドシートオブジェクトに列または列データを追加します。
戻り値
なし
カテゴリ
Microsoft Office の統合
関数のシンタックス
SpreadsheetAddColumn(SpreadsheetObj, data[, startRow, startColumn, insert], datatype); |
関連項目
SpreadsheetAddImage、SpreadsheetAddRow、SpreadsheetAddRows、SpreadsheetDeleteColumn、
SpreadsheetDeleteColumns、SpreadsheetFormatColumn、SpreadsheetFormatColumns、SpreadsheetShiftColumns
履歴
ColdFusion 11:datatype 属性が追加されました。
ColdFusion 9:この関数が追加されました。
パラメーター
パラメーター |
説明 |
---|---|
spreadsheetObj |
列の追加先となる Excel スプレッドシートオブジェクトです。 |
data |
セルエントリのカンマ区切りのリスト。列に追加される行ごとに 1 つあります。 |
startRow |
このパラメーターはオプションです。列データの追加を開始する行の番号です。insert="true" の場合、開始行より上にある列内のすべての行のセルが、空になります。このパラメーターを省略すると、列は、最初の行の始めから現在の列の間に挿入されます。列を指定することはできません。 |
startColumn |
このパラメーターはオプションです。列データの追加先となる列の番号です。 |
insert |
このパラメーターはオプションです。列を挿入するかどうかを指定する boolean 値です。false の場合は、指定された列エントリのデータが置き換えられます。 |
datatype | datatype 式の配列。式の詳細については、SpreadsheetAddRow 関数の datatype パラメーターの説明を参照してください。 |
使用方法
spreadsheetaddcolumn 関数は、2 つまたは 5 つの引数を受け取ります。次の 2 つのパラメーターを使用して、spreadsheetaddcolumn 関数を指定できます。
<cfset spreadsheetAddColumn(SpreadsheetObj,"newcol1,newcol2,newcol3")> |
次に示すように、5 つのパラメーターを使用して、spreadsheetaddcolumn 関数を指定できます。
<cfset spreadsheetAddColumn(SpreadsheetObj,"newcol1,newcol2,newcol3",2,3,false)> |
例
次の例では、クエリーから Excel スプレッドシートオブジェクトを作成し、行 3 から開始されるデータを含む新しい列 2 を挿入します。既存の列 2 およびそれ以降は 1 つずつインクリメントされます。
<!--- Get the spreadsheet data as a query. ---> <cfquery name="courses" datasource="cfdocexamples" cachedwithin="#CreateTimeSpan(0, 6, 0, 0)#"> SELECT CORNUMBER,DEPT_ID,COURSE_ID,CORNAME FROM COURSELIST </cfquery> <cfscript> ///We need an absolute path, so get the current directory path. theFile=GetDirectoryFromPath(GetCurrentTemplatePath()) & courses.xls"; //Create a new Spreadsheet object and add the query data. theSheet = SpreadsheetNew("CourseData"); SpreadsheetAddRows(theSheet,courses); //Insert a new second column to the sheet, with data starting in row 3. SpreadsheetAddColumn(theSheet, "Basic,Intermediate,Advanced,Basic,Intermediate,Advanced,Basic,Intermediate, Advanced" ,3,2,true); </cfscript> <!--- Write the spreadsheet to a file, replacing any existing file. ---> <cfspreadsheet action="write" filename="#theFile#" name="theSheet" sheet=1 sheetname="courses" overwrite=true> |
例 2 | datatype パラメーターの使用
<cfscript> // create a query with data to write an excel file. q_data = QueryNew("n1, n2, n3, s4, s5, d6", "", [ {n1:"1.203E+4", n2:"1.230E4", n3:"103E4", s4:"1.203E+4", s5:"1.230E4", d6:"4 jan 15"}, {n1:"1.203E+4", n2:"1.230E4", n3:"103E4", s4:"01.203E+4", s5:"9.230E4", d6:"15 dec 15"} ]); cfdump(var="#q_data#", format="html", label="qry-data"); datatype_arr = ["NUMERIC:1-3; STRING:4,5; DATE:6","STRING:1-3; NUMERIC:4,5; STRING:6"]; /*///////////////////////////// spreadsheetAddColumn method : datatype parameter. //////////////////////////////*/ /*// method signature : SpreadsheetAddColumn(SpreadsheetObj, data[, startRow, startColumn, insert], datatype) //*/ qry_xl_fl = expandpath("./") & "adcol-dt-ty_qry.xlsx"; xl_obj = spreadsheetNew("test-adcol-dty", true); q_cl_lst = listsort(q_data.columnlist, "TextNoCase", "DESC"); for( r=1; r LTE q_data.recordcount; r++) { rw_data_lst = ""; for(c=1; c LTE listLen(q_cl_lst); c++) rw_data_lst = rw_data_lst & q_data[listGetAt(q_cl_lst, c)][r] & ","; spreadSheetAddColumn(xl_obj, rw_data_lst, 1, r, true, "NUMERIC:1-3; STRING:4,5; DATE:" ); } spreadsheetwrite(xl_obj, qry_xl_fl, "", true, datatype_arr); //pass an empty str for password parameter. cfspreadsheet( action="read", src=qry_xl_fl, query="q_data_out"); cfdump(var="#q_data_out#", format="html", label="data-read-from-adcol-xl"); </cfscript>