SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)

テキストファイルをExcelのワークシートに変換するアプリケーションの作成

ComponentOne Studioを活用したWindowsフォームアプリケーションの作成

  • このエントリーをはてなブックマークに追加

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

 各オブジェクトへのアクセスは、上位のクラスのプロパティなどから行えます。いくつかのオブジェクト操作は、以降のアプリケーション作成手順の中で紹介します。

次のページ
アプリケーションの作成

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8364 2014/12/25 16:25

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング