« ASP.NETでエクセル操作 その3 | トップページ | C# Flash »

2008/08/18

ASP.NETでエクセル操作 その4

列幅、行の高さの指定

 

/// <summary>
/// 列幅を設定します
/// </summary>
/// <param name="colAddress">A:Aなど列のの範囲</param>
/// <param name="colWidth">列の幅</param>
private void _setColumnsWidth(string colAddress, double colWidth)
{
Excel.Range columns = (Excel.Range)this._sheet.Columns;
Excel.Range col = (Excel.Range)columns.get_Item(colAddress, Missing.Value);
col.ColumnWidth = colWidth;
Marshal.FinalReleaseComObject(col);
Marshal.FinalReleaseComObject(columns);
}

/// <summary>
/// 行の高さを設定します
/// </summary>
/// <param name="rowAddress">1:1など行の範囲</param>
/// <param name="rowHeight">行の高さ</param>
private void _setRowHeight(string rowAddress, double rowHeight)
{
Excel.Range rows = (Excel.Range)this._sheet.Rows;
Excel.Range row = (Excel.Range)rows.get_Item(rowAddress, Missing.Value);
row.RowHeight = rowHeight;
Marshal.FinalReleaseComObject(row);
Marshal.FinalReleaseComObject(rows);
}

 

前述してきたようにエクセルのオブジェクトを参照するときは、変数を宣言して解放する必要があります。行オブジェクトや列オブジェクト、罫線、シェイプオを操作するときはコレクションに注視する必要があります。

 

罫線の例
Excel.Borders borders = range.Borders;
Excel.Border border = borders[Excel.XlBordersIndex.xlEdgeBottom];
border.Weight = Excel.XlBorderWeight.xlThin;
Marshal.FinalReleaseComObject(border);
Marshal.FinalReleaseComObject(borders);
Marshal.FinalReleaseComObject(range);

 

オブジェクトにアクセスするときは、局所的に使用するように心がけましょう。

« ASP.NETでエクセル操作 その3 | トップページ | C# Flash »

03 web」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: ASP.NETでエクセル操作 その4:

« ASP.NETでエクセル操作 その3 | トップページ | C# Flash »

2022年7月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

最近のトラックバック

無料ブログはココログ