Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

サーバーサイドでExcelファイルを読み書きするWebアプリケーションを作る

ASP.NET MVCやMicrosoft Azure Functions上でExcel処理を記述しよう

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2017/05/26 14:00

 本記事で紹介するExcelコンポーネントは、サーバーサイドでExcelファイルを読み書きできる.NET Frameworkのライブラリです。これを利用してExcelファイルの作成・読み取りを行うASP.NETなWebアプリケーションを作成します。このアプリケーションは、クラウド上、例えばMicrosoftのPaaSや、サーバーレスアーキテクチャのサービスであるMicrosoft Azure Functionでも動作します。

目次

はじめに

 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上で動かします。

作成するWebアプリケーションの概要図
作成するWebアプリケーションの概要図
Azure Functions上での動作を表す概要図
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版に対応しています。


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

著者プロフィール

  • 矢後 比呂加(ヤゴ ヒロカ)

     Microsoft MVP for Visual Studio and Development Technologies(https://mvp.microsoft.com/ja-jp/PublicProfile/5000246)  シグマコンサルティング株式会社にて、Microsoft Azu...

バックナンバー

連載:ComponentZine(ComponentOne Studio)

もっと読む

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5