はじめに
Excelコンポーネントは、Excelファイルの読み書きを行う.NET Framework上で動作するライブラリ、つまりdllファイルです。グレープシティ社の製品である「ComponentOne Studio」の中に含まれています。このライブラリを使用することにより、Excelファイルを活用したアプリケーションを開発できます。
Excelファイルの読み書きでは、さまざまなタスクを実行できます。例えば、セルの値や数式の読み書き/レイアウトの設定/セルの結合/小計を作成するためのアウトラインレベルの設定/シートの作成/画像の挿入/コメントの挿入 等を行うことができます。
今回は、このExcelコンポーネントを使って2種類の環境で動くサンプルを用意しました。前半は、 (1)Excelファイルから値を読み取りデータを登録する機能、(2)データの一覧が出力されたExcelファイルをダウンロードできる機能、の2つの機能をASP.NET MVC 5のWebアプリケーションで実装します。後半では、別のサンプルとして、簡単なExcelファイルの処理をクラウド上のMicrosoft Azure Functions上で動かします。
特徴・必要システム
このライブラリの特徴は、サーバーにExcelをインストールする必要がないことと、メソッド一つでシート・セル・行・列等を扱う操作性の良さです。また、.NET Framework上で動作するため、ASP.NET WebForms/ASP.NET MVC 5/ASP.NET Core MVC(.NET Framework版)といったWebフレームワークだけでなく、WPFやWindows Forms上に組み込むことができます。.NET Frameworkが動作する環境であれば、クラウド上での稼働も可能です。また、グレープシティ社によるテクニカルサポートを受けられます。対応するExcelファイルの種類と必要システムは以下の通りです。
対応するExcelファイルの種類
- Excel 97~Excel2003のバイナリファイル形式(.xls)
- Excel 2010およびExcel 2007のXMLベースファイル形式(.xlsx)
- Excel 2010およびExcel 2007のExcelテンプレート用のファイル形式(.xltx)
- VBAマクロが有効なExcel 2007/2016のファイル形式(.xlsm)
- (単純なカンマ区切り値CSV形式)
必要システム
- OS:Windows 7~Windows Server 2016
- Webサーバー:Internet Information Services
- .NET Frameworkのバージョン:.NET Framework 4.5.2以上
詳細は、ComponentOne Studioリリースノート/必要システムをご参照ください。
対象読者
- Excelファイルを使ったWebアプリケーションの開発に興味のある方
- ASP.NET開発者
必要な環境
- ASP.NET MVC 5アプリケーションの開発ができる環境。今回作成するサンプルでは、筆者はVisual Studio 2017で動作確認しています。
- Excel 2016(アプリケーションを使用するユーザーとしてExcelファイルの作成や閲覧に使用します。)
ComponentOne Studio for ASP.NET MVCとは
Excelコンポーネントは、グレープシティ社が提供する有償製品「ComponentOne Studio for ASP.NET MVC」に含まれるコンポーネントの1つです。他に、データグリッド・チャート・帳票・ナビゲーション等のリッチなUIを提供するコンポーネントが含まれています。Excelの活用だけでなく、これらのコンポーネントを組み合わせることにより、開発生産性を向上させることができます。「ComponentOne Studio for ASP.NET MVC」は、ASP.NET Coreにも対応しています。ASP.NET Coreでは、先ほど挙げたUIを実現するためのTag Helperが含まれており、NuGetパッケージによりライブラリを参照できます。
注意:Excelコンポーネントは、.NET Core版には対応していないため、ASP.NET Core MVCフレームワークで使用するには.NET Frameworkを対象にする必要があります。「ComponentOne Studio for ASP.NET MVC」の他のコンポーネントは .NET Core版に対応しています。