C1XLBookコンポーネントの概要
C1XLBookコンポーネントは、アプリケーションにExcelファイルの読み書き機能を追加するためのコンポーネントライブラリです。アプリケーション側では1つのコマンドになるので、Excelを別途インストールする必要はありません。
また、Excel 97以降のXLSファイルをアプリケーションにロードすることもできます。さらに、Office 2007 OpenXml形式をサポートしており、より小さく圧縮したXLSX形式のファイルとして保存することもできます。
C1XLBookコンポーネントのメインはC1XLBookオブジェクトで、 1枚以上のシートを含むExcelワークブックを表します。
シート、スタイル、ハイパーリンク、画像、ヘッダー/フッター、改ページ、その他Excelシートが持つ多くの機能を操作することができます。
C1XLBookコンポーネントの特徴
C1XLBookコンポーネントは以下の特徴を持っています。
1つのコマンドによるワークブックの保存/ロード
C1XLBookコンポーネントは使いやすく、グリッドコントロールの場合と同様に、1つのコマンドを使ってワークブックのロードや保存を行ったり、シートを操作したりできます。
個別セルのデータの読み取りと書き込み
C1XLBookコンポーネントをロードまたは作成した後、簡単なグリッドの場合と同様に個別シートのデータにアクセスできます。例えば、次のようになります。
XLSheet sheet = c1XLBook1.Sheets[0]; sheet[0, 0].Value = DateTime.Now;
各セルのデータの書式設定
各セルに関連付けられたデータの書式設定は、セル内に格納されたデータと同様にアクセスが簡単です。例えば、次のようになります。
XLStyle style = new XLStyle(c1XLBook1); style.Format = "dd-MM-yyyy"; style.Font = new Font("Courier New", 14); XLSheet sheet = c1XLBook1.Sheets[0]; sheet[0, 0].Value = DateTime.Now; sheet[0, 0].Style = style;
C1XLBookコンポーネントを使ったXLSファイルへのエクスポート
C1XLBookコンポーネントを使用して XLSファイルをエクスポートできます。例えば、C1Reportコントロールでは、レポートをXLSバージョンで作成することにより、誰でもExcelを使ってレポートの閲覧と編集を行うことができるようになります。
Excelを使わない .xls と .xlsx ファイルの読み取り/書き込み
C1XLBookコンポーネントは、.xls(Excel 97以降)と.xlsx(OpenXml形式)ファイルの読み取り/書き込みを行います。後者のxlsxは再使用されて、より小さいファイルサイズに簡単に交換または圧縮できます。アプリケーションを実行するコンピュータに、Excelがインストールされている必要はありません。
画像の作成とセル内への配置
画像をセルに追加するだけでなく、セルサイズ、セル内の画像の位置、および画像を拡大縮小するか、クリッピングするか、セルに合わせて引き伸ばすかどうかを指定できます。
ストリームでのファイルの保存とロード
LoadとSaveメソッドの新しいオーバーロードにより、ワークブックはメモリストリームの直接読み取り/書き込みが行えるようになったため、一時ファイルの使用が不要です。
シートのヘッダーとフッターへの画像の追加
XLPrintSettingsクラスのプロパティを使用して、画像をシートのヘッダーまたはフッターの左、中央、または右部分に追加します。
C1XLBookコンポーネントのオブジェクト構造
C1XLBookコンポーネントはExcelではないので、Excelと違ったオブジェクト構造を持っており、このオブジェクト構造を利用してブック/ワークシート/セルを操作します。
トップレベルはC1XLBookクラスで、Bookを表します。
System.Object System.MarshalByRefObject System.ComponentModel.Component C1.C1Excel.C1XLBook
以降、Excelオブジェクトに対応したクラスは以下のようになっています(コレクションオブジェクトは末尾に"s"が付きます)。
オブジェクト | クラス |
---|---|
ワークシート | XLSheet |
セル | XLCell |
列 | XLColumn |
行 | XLRow |
セル範囲 | XLRange |
図形・画像 | XLShape |
セルのスタイル | XLStyle |
埋め込み画像 | XLPictureShape |
印刷設定 | XLPrintSettings (設定のみで印刷機能はなし) |
列(複数) | XLColumnCollection |
行(複数) | XLRowCollection |
ワークシート(複数) | XLSheetCollection |
各オブジェクトへのアクセスは、上位のクラスのプロパティなどから行えます。いくつかのオブジェクト操作は、以降のアプリケーション作成手順の中で紹介します。