説明
Excel スプレッドシートオブジェクトに行を追加します。
戻り値
なし
カテゴリ
Microsoft Office の統合
関数のシンタックス
SpreadsheetAddrow(spreadsheetObj, data [,row, column, insert, datatype]) |
関連項目
SpreadsheetAddColumn、SpreadsheetAddImage、SpreadsheetAddRows、SpreadsheetDeleteRow、
SpreadsheetDeleteRows、SpreadsheetFormatRow、SpreadsheetFormatRows、SpreadsheetShiftRows
履歴
ColdFusion 11:datatype 属性が追加されました。
ColdFusion 9:この関数が追加されました。
パラメーター
パラメーター |
説明 |
---|---|
spreadsheetObj |
列の追加先となる Excel スプレッドシートオブジェクトです。 |
data |
セルエントリのカンマ区切りリスト。列ごとに 1 つあります。 |
row |
挿入する行の番号です。この値以上の番号を持つ既存の行の行番号は、1 ずつインクリメントされます。このパラメーターの値を指定する場合は、column の値も指定する必要があります。このパラメーターを省略すると、行は最後の現行行の後に挿入されます。列を指定することはできません。 |
column |
列データの追加先となる列の番号です。行内の開始列より左側にあるすべての列のセルは空になります。このパラメーターの値を指定する場合は、row の値も指定する必要があります。 |
insert |
このパラメーターはオプションです。デフォルト値は true です。行を挿入するかどうかを指定する boolean 値です。false の場合は、指定された行エントリのデータが置き換えられます。 |
datatype | 行に設定可能なセルの datatype は STRING、NUMERIC、DATE です。 datatype はデータの型を説明する式として使用できます。以下は datatype パラメーターの使用例です。
|
使用方法
例
次の例では、1 つのデータ行を行 10 として追加します。データは列 2 で開始され、10 より大きい既存の行番号は 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 eighth row to the sheet, with data starting in column 1. SpreadsheetAddRow(theSheet,"150,ENGL,95,Poetry 1",8,1); </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"]; /*//////////////////////// spreadSheetAddRow method : datatype parameter. /////////////////////////*/ /*// method signature : SpreadsheetAddrow(spreadsheetObj, data [,row, column, insert, datatype]) //*/ qry_xl_fl = expandpath("./") & "adrw-dt-ty_qry.xlsx"; xl_obj = spreadsheetNew("test-addrw-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] & ","; spreadSheetAddRow(xl_obj, rw_data_lst, r, 1, 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-adrw-xl"); </cfscript>