説明

Excel スプレッドシートオブジェクトに行を追加します。

戻り値

なし

カテゴリ

Microsoft Office の統合

関数のシンタックス

SpreadsheetAddrow(spreadsheetObj, data [,row, column, insert, datatype])

関連項目

SpreadsheetAddColumnSpreadsheetAddImageSpreadsheetAddRowsSpreadsheetDeleteRow

SpreadsheetDeleteRowsSpreadsheetFormatRowSpreadsheetFormatRowsSpreadsheetShiftRows

履歴

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. STRING:1,3;NUMERIC:2:この行の最初の列と 3 番目の列のデータは文字列型です。2 番目の列のデータは数値型です。
  2. NUMERIC:1;STRING:この行の最初の列のデータは数値型です。残りは文字列型です。
  3. NUMERIC:2-5;STRING:1,6;DATE:2 番目の列と 5 番目の列のデータは数値型です。最初の列と 6 番目の列のデータは数値型です。残りは date 型です。
  4. STRING:この行のすべてのセルは文字列型です。

使用方法

次の例では、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>

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー