開発者必見! Excelデータを活用した効率的業務システムの構築

第4回さらに活用の幅を広げるために―Excel→XML化のヒント

最終回となる今回は、Excelデータをもっと活用すべく、XML化のメリット、具体的な方法について紹介します。

なぜXMLなのか?

汎用フォーマット

XMLの便利なところは、汎用性の高さです。とくに、Web 2.0の概念が広まって以降、さまざまなアプリケーションの共通フォーマットとして利用されることになりました。これは、Webアプリケーションに限ったことではなく、クライアントアプリケーション、業務アプリケーションでも同じです。

セマンティックWebの考え方

XML形式は、汎用性が高い一方で「情報を出すこと」を最優先とし、その後の見せ方の自由度が高くなっています。これはセマンティックWebに通ずる概念で、データの構造化やビジュアル化については利用者にゆだねられます。

そのため、同じデータをPC上のWebブラウザで見たり、デスクトップアプリケーションで閲覧できたり、あるいはテキスト以外のデータとリンクさせることで特殊なデバイスで表現させることも可能になります。

ExcelデータをXML化するメリット

こうした汎用性の高さは、業務アプリケーションを利用するときにも便利です。これまで、2、3回の内容では、企業における管理部や総務部といった部署を対象としたアプリケーション開発について触れてきましたが、何もデータはその2つの部署のみが扱うものではありません。たとえば、経営戦略室や外部コンサルティングへ業務委託する場合、ビジネス戦略を点簿するために分析しやすくできたほうが便利です。この場合、Excel以外の分析アプリケーションで利用できるほうが良いでしょう。さらに、複数の部署で使用するような、比較的大規模なシステムにおいては、データをシームレスに扱えることが、そのまま業務効率の改善に繋がります。

他にも、一般的に公開されている数値や集計データなどは、ExcelではなくWebアプリケーションとして見られるようにしておけば、Webを通じてExcelのない環境でも誰もが閲覧しやすくなります。また、XMLであれば、ノンプログラミング環境でのデータ活用がしやすいというメリットが上げられます。

このように、Excelデータとして生成したものを、さらにXML化することにより、ビジネスの幅を広げることができるのです。

XML化アプリケーション開発のポイント

各種基礎情報を取得する

Excel→XML化をするにあたり、Excelデータを開くことやそのデータ(ワークブック、シート)が持っている情報の取得、シートのXML名の取得などが必要になります。まずは、こうした基礎情報の取得が必要になります。

セル情報からのデータ取得

データを開いた後は、そのデータに含まれる各種数値の読み込みが必要です。具体的には、セル情報(行・列⁠⁠、各セル内の数値といったものです。これらについては、3回目で紹介したように、ホスト項目とホストコントロールの指定により実現できます。詳しくはMSDNのサイトをご覧ください。

取り込んだデータのタグ付け

データの取り込みまで終わったら、最後にXML化を行います。具体的には、タグ付けをするのですが、この際、あらかじめ文書構造を確定しておく必要があります。

 ExcelデータをXML化するためのフロー
図 ExcelデータをXML化するためのフロー

複雑な手順をどうするか?

以上、簡単ではありましたが、ExcelデータのXML化のメリットおよび実現方法について紹介しました。実は、ExcelデータのXML化については、いくつか注意しておかなければいけないポイントがあります。最後にそれらについて紹介します。

Excelが持つ基礎情報の多さ

先にも述べたとおりExcel形式のファイルには非常に多くの基礎情報が含まれています。たとえば、XLSX形式には、内部にZIP形式に8つ以上のフォルダと、10個以上のXMLおよび関連データファイルが含まれています。これらをきちんと取り込むには、Excelの構造を理解しておく必要があり、さらに、それらをきちんと取り込むプログラムが必要になります。

バージョンごとの仕様の差異

現在、利用されているExcelのバージョンは2000/2003/2007と大きく3種類あります。それらは登場した次期の違いもあり、データの保存形式や細かな仕様が異なります。これらの差異を意識しておかないと、特定のバージョンだけに対応したアプリケーションになってしまうだけではなく、正確なXML化ができないという結果にも繋がります。

Excel→XML化には商用ツールの利用がお勧め

過去2回、Visual Studio上でのExcelデータ生成および帳票作成アプリ開発について解説しました。これらは、ある程度スキルがあったり、状況に応じてスクラッチで開発するという選択肢もあります。しかし、それだけではなく、工数や予算に応じて商用アプリケーションを利用するという選択肢もあります。

とくに、ある程度のデータ量を扱う規模で長期運用を行う場合や、期間ごとに細かな修正が入る場合などは、あらかじめテンプレートのような形で用意されている商用ツールの利用をお勧めします。

Excel Data Server

Excelファイルからのデータ取り込みを実現

Excel Data Serverは、アドバンスソフトウェアが開発・販売するExcelデータファイルを有効に活用するためのExcelデータ/データベース連携ツールです。具体的には、既存のExcelファイルからデータを取り込むことを可能にするソフトウェアです。

この製品が開発された背景には、昨今のExcelファイルによる業務推進に加えて、バージョン違いによるデータの非互換性、利用者間のスキル差によるデータの非一元性が挙げられます。こうした状況において、誰もが同じデータを同じように扱えるようにするために、複数のExcelファイルから、必要な情報を統一したフォーマットで取り込めるようにするのが、このExcel Data Serverなのです。

3つの機能を元にした効率的な開発フロー

Excel Data Serverは、⁠ExcelTrans Editor」⁠Excel Data Serverコアコンポーネント」⁠ExcelTrans」の3つの機能から構成されます。

ExcelTrans Editorは、データを取得するExcelファイルからのセルの位置情報「定義ファイル」を作成するもので、ドラッグ&ドロップによる直感的な操作を実現しています。

ExcelTrans Editorの利用イメージ。Excelからセルを選択した後、直接Editor側にドラッグ&ドロップを行うことで、データを抽出したいセルの位置情報が簡単に展開される。
ExcelTrans Editorの利用イメージ。Excelからセルを選択した後、直接Editor側にドラッグ&ドロップを行うことで、データを抽出したいセルの位置情報が簡単に展開される。

Excel Data Serverコアコンポーネントは、Visual BasicやC#などのプログラムから呼び込める機能コアコンポーネントで、定義ファイルを利用してプログラムの中から目的のデータを取り込むものです。

最後のExcelTransは、定義ファイルと実Excelファイルの組み合わせからXMLファイルを作成するものです。これにより、データの一元管理を実現し、その先の加工・編集につなげることができます。

このように、データの取り込みから管理までを効率的なフローで行える特徴を持っています。

ExcelCreator 2007/VB-Report 2007との併用

この製品は単体での利用はもちろん、Excelデータを生成する「ExcelCreator 2007⁠⁠、そして帳票を作成する「VB-Report 2007」と併用することで、組織内での業務データ生成・管理を、その組織のポリシーや体制に合わせて実行することができるため、大幅な業務改善を図ることができます。

製品名:Excel Data Server
問い合わせ:アドバンスソフトウェア株式会社
URL:http://www.adv.co.jp/
メール:info@adv.co.jp

おすすめ記事

記事・ニュース一覧