究極に軽量な帳票生成環境を手に入れる ― CodeZine記事

ドキュメントAPIライブラリ「DioDocs(ディオドック)」の技術記事を紹介します。
以前、開発者のための実装系Webマガジン「CodeZine」で公開された記事を紹介したところ、衝撃というインパクトのあるタイトルの効果もあり多くの方にご覧いただきました。

今回紹介するのは、この記事の続編ともいえる記事です。
タイトルには究極という挑戦的な表現が使われています。


完全に試すことができる

今回CodeZineに掲載した記事では、DioDocsの機能を利用してExcel帳票を作るライブラリを実装しています。
そして、その成果物はオープンソースでGitHubに公開され、実行環境もNuGetパッケージとして公開されているので、完全な形で試すことができます。

厳密にいうと完全な形のサンプルライブラリと、機能制限のあるDioDocsのライセンス無し版の組み合わせでのお試しです。商用製品であるDioDocsの事情ですのでこの点はご理解ください。

ライブラリの構成と仕様

最初のページでは記事の流れを示したあと、今回作成する「汎用帳票生成ライブラリ」について趣旨と仕様が解説されています。
Excelテンプレートを作成し、それをベースにデータを設定してExcel帳票化、PDF化するシンプルなものです。

Excerl帳票生成ライブラリ
CodeZineより転載

弊社Webサイトで公開するDioDocsのサンプルでは、Excelのセルを指定して直接データを設定するコードを説明することが多いのでレイアウト固定になります。しかしこのCodeZineの記事では汎用性を目的としたライブラリの開発なので、印字項目をテンプレートにプロパティとして定義し、レイアウト変更にも対応する形になっています。

この仕様や仕組みについて詳しく説明してありますが、コードを入手して手元で実行したほうが理解は早いでしょう。コードが公開されている便利な点です。

詳細な仕様説明は1~2ページ*1 で、
具体的な実装コードの解説は2ページ*2 に記載されています。

.NET Standardである意味

ライブラリの作成とその解説以外にも、この記事の解説には大切な部分があります。
ライブラリとその利用アプリケーションのアーキテクチャ解説とあわせて、.NET Standardに準拠した作りにしている意味の解説があるところです。

DioDocsを.NET Standard 2.0の仕様に準拠したクロスプラットフォームで利用できるライブラリとして提供しているのは、実際にアプリケーションを開発するフレームワークとして、.NET Coreを採用した場合に利用していただきたいためです。

しかし、.NET Coreを採用するメリットはあるのでしょうか?
まだ発展途上の技術ですし、ASP.NET CoreでWeb技術として先行している状況です。 その状況でも、大きな可能性と魅力を備えた技術であることが、いくつかの切り口で丁寧に記事で解説しています。

.NET Framework、.NET Core そして.NET Standardは何がどう違うの?
疑問に思われている方向けの情報としても、しっかり理解できるようにまとめられています。

グレープシティ製品の情報は少ないページですが、単独の記事記事としてもおすすめのページ*3です。

究極に軽量な帳票生成サービスへ

最後は、作成した帳票生成ライブラリを利用したアプリケーションの作成です。
ASP.NET Coreで構築しクラウド上で動作します。もちろんサンプルコードは公開しています。

ここでのDioDocsは、サーバーで動作するExcelドキュメント生成ライブラリとして存在しています。つまり、Excelをインストールしていない環境で、ExcelファイルやPDFファイルを作成する能力を引き出されています。

かなりのボリュームですが、DI(Dependency Injection:依存関係注入)パターンを使用する解説も含まれていますので、サンプルアプリケーションの枠を超えた実践的な内容です。

詳細は4ページ*4をご覧ください。

さいごに

2回にわたって掲載されたCodeZine記事で、DioDocsの魅力を十分に引き出していただきました。
この場を借りて、著者の中村充志さんにお礼申し上げます。
企業の製品紹介記事を執筆することは、ある程度のリスクがあるなか、我々が期待している以上の高い評価をいただき、使い込んだ記事を執筆していただきました。

ご自身のブログでも、さまざまな技術情報を公開されていますので、今後も私たち含め、みなさんを導いてくださることに期待します。


このCodeZine記事をはじめ、DioDocsを解説する記事を製品情報ページにリンクをまとめています。
興味のある記事からご覧ください。

\  この記事をシェアする  /