<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DigiTechLog Dot Com &#187; Java</title>
	<atom:link href="http://digitechlog.com/tag/java/feed" rel="self" type="application/rss+xml" />
	<link>http://digitechlog.com</link>
	<description>Adobe AIR、Flex、Flash、Java</description>
	<lastBuildDate>Tue, 08 Nov 2011 12:46:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス</title>
		<link>http://digitechlog.com/2009/08/23/granite-data-services-free-lgpl-alternative-to-adobe-livecycle-data-services-for-j2ee-servers.html</link>
		<comments>http://digitechlog.com/2009/08/23/granite-data-services-free-lgpl-alternative-to-adobe-livecycle-data-services-for-j2ee-servers.html#comments</comments>
		<pubDate>Sun, 23 Aug 2009 03:34:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash Project]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[GDS]]></category>
		<category><![CDATA[Granite Data Services]]></category>
		<category><![CDATA[オープンソース]]></category>
		<category><![CDATA[データサービス]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/08/23/granite-data-services-free-lgpl-alternative-to-adobe-livecycle-data-services-for-j2ee-servers.html</guid>
		<description><![CDATA[Granite Data Services (GDS：Granite は花崗岩の意味）とは、Adobeの商用製品であるLiveCycle Data Servcices（LCDS：Adobeのデータサービス技術）やBlaze Data Sercvices（LCDSのリモート技術やメッセージ技術などをオープンソース化したもの）の代替となるオープンソースプロジェクトによって開発されたデータサービスです。GDSは LGPLライセンスの下で使用でき、2008年1月30日にはプロダクション版であるGDS 1.0がリリースされました。
「BlazeDS」 は強力なライバルとなるでしょうが、「GDS」 には 「BlazeDS」 では提供されないデータ管理機能も備わっているため、Flex 利用者の増加と共に、これまで以上に注目されることになりそうです。
プロジェクト創設者のFranck Wolff氏はまず最新のリリースで何が新しくなったのかをInfoQに語った。
 


GDS 1.1は10月6日にリリースされ、新機能が主に3つあります。

Tide: このモジュールはCairngorm + Flex Data Management Serviceの組み合わせに対する完全な代替手段となることを意図しています。Flex側から見ると、Cairngormは優れたFlex開発フレームワークですが、(ちょっとした操作のために多くのファイルが必要であったり)いくぶん冗長な気がしました。Java側から見ると、Flex Data ManagementはLiveCycle Data Servicesを通して利用することしかできません。また、私達が必要とする機能のいくつかが未実装であったり私達が望む実装でなかったりしました。それはJ2EEの一般的なフレームワーク(例えばJBoss/Seam, Spring,やEJB3)との統合、クライアント側でのエンティティ・キャッシュ、コレクションのページング、そして透過的な遅延ロードなどです。 Tideはこれら全ての要求を解決し、JBoss/Seamフレームワークをターゲットとしています(SpringとEJB3への対応は近日中)
Granite Eclipseビルダ: この新しいEclipseビルダ・プラグインは(エンティティ・ビーンのような)Javaビーンを新しく作成したり、修正したりするたびに Gas3(GDS ActionScript3ジェネレータ)を自動的に起動します。グラフィカルなウィザードやパネルからJavaプロジェクトの設定を変更すると即座に Javaモデルを対応するActionScript3へと反映させます。生成されたビーンは強力な型付けのために必要な、遅延ロードのサポートやTide との統合といった全てのロジックを実装しています。
MXML/AS3 Webコンパイラ: Adobe社のものと同様な機能(デプロイされたwarに含まれるMXMLファイルを直接コンパイルする)を提供しますが、さらに(ストリングやデータベースなどの)あらゆる入力ストリームからコンパイルすることも可能です。この機能は(Igenkoプロジェクトの創始者であるSebastien Deleuze氏によって寄贈されたもので、こちらからオンラインにてテストすることができます。


GDSの概要について:
Granite Data ServicesはAdobe LiveCycle Data Servicesの代わりとなるもので、JEEテクノロジーへの適用を特に重視しています。EJB3/Hibernateのような代表的なJava EE永続化システムを、遅延ロードも含めて全てサポートします。GDSではFlex2/3で標準のRemoteObjectを扱えるので、AMF3 （RemoteObjectで用いられるデータフォーマット）の利点を全て得ることができます。さらにGDSは多くのテクノロジーをサポートしています。

ポピュラーなウェブフレームワークサービスとの相互運用性
サーバーサイドのEJB3セッションビーンの呼び出し（これはJBoss Seam（JSF、EJBなどを統合するWebアプリフレームワーク）による拡張があってもなくても構いません）
Acegi（Spring向けセキュリティフレームワーク）によるセキュリティを備えたSpringビーン
Google Guice（GoogleのDIコンテナ、ジュースと発音）サービスとWarp（コンポーネントベースのWebアプリフレームワーク）の永続化
POJOサービスのサポート 

データプッシュのサポートはGDS 1.0での新しい機能です。そしてGDSでActionScript3のコード生成（Gas3）も出来るようになり、Flexアプリケーション開発を大いに支援します。Flex Builder IDE、あるいはフリーのFlex SDKと一緒にGDSを使うと、Flexアプリケーションの開発とデプロイを完全にかつ強力に支援するフレームワークになります。

GDSとBlazeDSを比較する：

BlazeDSは基本的にLCDSのサブセットで、直接的にはデータ管理機能を提供しませんGDSはEJBの永続化レイヤを完全に統合するようにデザインされていて、LCDSにはないと思われる大変重要でユニークな機能を持っています。それはプロキシ（単一端関連）と遅延フェッチです。このことで最悪データベース全体を読み込まないといけないようなリスクを回避できます。この機能はまた別のユニークなシリアライズ機能であるExternalizer（外部化機能）をベースにしています。Flex標準（つまりBlazeDSやLCDS標準）であるAMF3のシリアル化では、一時的なプロパティや publicな静的プロパティ以外もシリアル化されてしまいます。バージョン管理ナンバーのようなprivateにしておきたい [...]]]></description>
			<content:encoded><![CDATA[<p>Granite Data Services (GDS：Granite は花崗岩の意味）とは、Adobeの商用製品であるLiveCycle Data Servcices（LCDS：Adobeのデータサービス技術）やBlaze Data Sercvices（LCDSのリモート技術やメッセージ技術などをオープンソース化したもの）の代替となるオープンソースプロジェクトによって開発されたデータサービスです。GDSは LGPLライセンスの下で使用でき、2008年1月30日にはプロダクション版であるGDS 1.0がリリースされました。</p>
<p>「BlazeDS」 は強力なライバルとなるでしょうが、「GDS」 には 「BlazeDS」 では提供されないデータ管理機能も備わっているため、Flex 利用者の増加と共に、これまで以上に注目されることになりそうです。</p>
<p>プロジェクト創設者のFranck Wolff氏はまず最新のリリースで何が新しくなったのかをInfoQに語った。</p>
<p><a href="http://digitechlog.com/wp-content/uploads/2009/08/gds-stack.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="gds-stack" src="http://digitechlog.com/wp-content/uploads/2009/08/gds-stack_thumb.png" width="484" height="446"></a> </p>
<p><span id="more-586"></span><br />
<blockquote>
<p>GDS 1.1は10月6日にリリースされ、新機能が主に3つあります。
<ol>
<li>Tide: このモジュールはCairngorm + Flex Data Management Serviceの組み合わせに対する完全な代替手段となることを意図しています。Flex側から見ると、Cairngormは優れたFlex開発フレームワークですが、(ちょっとした操作のために多くのファイルが必要であったり)いくぶん冗長な気がしました。Java側から見ると、Flex Data ManagementはLiveCycle Data Servicesを通して利用することしかできません。また、私達が必要とする機能のいくつかが未実装であったり私達が望む実装でなかったりしました。それはJ2EEの一般的なフレームワーク(例えばJBoss/Seam, Spring,やEJB3)との統合、クライアント側でのエンティティ・キャッシュ、コレクションのページング、そして透過的な遅延ロードなどです。 Tideはこれら全ての要求を解決し、JBoss/Seamフレームワークをターゲットとしています(SpringとEJB3への対応は近日中)
<li>Granite Eclipseビルダ: この新しいEclipseビルダ・プラグインは(エンティティ・ビーンのような)Javaビーンを新しく作成したり、修正したりするたびに Gas3(GDS ActionScript3ジェネレータ)を自動的に起動します。グラフィカルなウィザードやパネルからJavaプロジェクトの設定を変更すると即座に Javaモデルを対応するActionScript3へと反映させます。生成されたビーンは強力な型付けのために必要な、遅延ロードのサポートやTide との統合といった全てのロジックを実装しています。
<li>MXML/AS3 Webコンパイラ: Adobe社のものと同様な機能(デプロイされたwarに含まれるMXMLファイルを直接コンパイルする)を提供しますが、さらに(ストリングやデータベースなどの)あらゆる入力ストリームからコンパイルすることも可能です。この機能は(Igenkoプロジェクトの創始者であるSebastien Deleuze氏によって寄贈されたもので、こちらからオンラインにてテストすることができます。</li>
</ol>
</blockquote>
<p>GDSの概要について:</p>
<blockquote><p>Granite Data ServicesはAdobe LiveCycle Data Servicesの代わりとなるもので、JEEテクノロジーへの適用を特に重視しています。EJB3/Hibernateのような代表的なJava EE永続化システムを、遅延ロードも含めて全てサポートします。GDSではFlex2/3で標準のRemoteObjectを扱えるので、AMF3 （RemoteObjectで用いられるデータフォーマット）の利点を全て得ることができます。さらにGDSは多くのテクノロジーをサポートしています。
<ul>
<li>ポピュラーなウェブフレームワークサービスとの相互運用性
<li>サーバーサイドのEJB3セッションビーンの呼び出し（これはJBoss Seam（JSF、EJBなどを統合するWebアプリフレームワーク）による拡張があってもなくても構いません）
<li>Acegi（Spring向けセキュリティフレームワーク）によるセキュリティを備えたSpringビーン
<li>Google Guice（GoogleのDIコンテナ、ジュースと発音）サービスとWarp（コンポーネントベースのWebアプリフレームワーク）の永続化
<li>POJOサービスのサポート </li>
</ul>
<p>データプッシュのサポートはGDS 1.0での新しい機能です。そしてGDSでActionScript3のコード生成（Gas3）も出来るようになり、Flexアプリケーション開発を大いに支援します。Flex Builder IDE、あるいはフリーのFlex SDKと一緒にGDSを使うと、Flexアプリケーションの開発とデプロイを完全にかつ強力に支援するフレームワークになります。</p>
</blockquote>
<p>GDSとBlazeDSを比較する：<br />
<blockquote>
<p>BlazeDSは基本的にLCDSのサブセットで、直接的にはデータ管理機能を提供しませんGDSはEJBの永続化レイヤを完全に統合するようにデザインされていて、LCDSにはないと思われる大変重要でユニークな機能を持っています。それはプロキシ（単一端関連）と遅延フェッチです。このことで最悪データベース全体を読み込まないといけないようなリスクを回避できます。<br />この機能はまた別のユニークなシリアライズ機能であるExternalizer（外部化機能）をベースにしています。Flex標準（つまりBlazeDSやLCDS標準）であるAMF3のシリアル化では、一時的なプロパティや publicな静的プロパティ以外もシリアル化されてしまいます。バージョン管理ナンバーのようなprivateにしておきたい ActionScript3ビーンは、シリアル化しないでprivateにしておきたいこともあるでしょう。BlazeDSあるいはLCDSでこれを実現するにはエンティティビーンズをExternalizable（外部化可能）にしないといけませんが、それにはJavaとAS3の両方に、きちんと対応したreadExternalメソッドとwriteExternalメソッドを実装する必要があります（参照）。これはとても退屈な作業です。そしてソースコードはエラーが入りやすく、かつエラーが見つけにくいものになるでしょう。そもそもエンティティビーンのコードが自分のものでなかったら、これを行うのは不可能です。GDSのExternalizerを使えばJavaビーンをExternalizableにコーディングする必要はなくなり、AS3ビーンをGas3に生成させることもできるのです。生成されたAS3ビーンは強い型付けがされ、Javaビーンで privateだったプロパティはAS3でもprivateですし、遅延ロードもサポートします。<br />BlazeDSのドキュメントには、 BlazaDSが「オープンなアダプタアーキテクチャ（外部サービスの接続を容易に行うアダプタを利用したアーキテクチャ）」で「JMS、EJB、 ColdFusionコンポーネント、その他データソースとの統合を容易に行う」と書かれています。この観点からいえば、GraniteDSと BlazeDSに大差はありません。GDSも「オープンなアダプタアーキテクチャ」に基づいているのですから。GDSの開発者たちはSpringや Seam、Guiceのサービスアダプタに貢献してきた人たちなのです。ただGDSは他にも、シリアル化の全てのプロセスをコントロールできたり、独自のデータ型をサポートするなど、多くのことをカスタマイズを加えることができるのです。<br />驚くべきことに、BlazeDS及びGDSのデータプッシュの実装は、両方ともCometによく似たアーキテクチャをベースにしています。GDSはあらゆるBlazeDSのアナウンスの前である2007年の夏に、この実装の選択を発表しました。ということで、データプッシュの実装はよく似ている可能性はありますが（BlazeDSのソースコードはまだ公開されていません）、BlazeDSが私の知る限り Tomcatoのみサポートしているのに対して、GDSはJettyのサポートも行っています。</p>
</blockquote>
<p>最新版は次のURLからダウンロードできます。<a title="http://www.graniteds.org/confluence/pages/viewpage.action?pageId=229378" href="http://www.graniteds.org/confluence/pages/viewpage.action?pageId=229378" rel="nofollow" target="_blank">http://www.graniteds.org/confluence/pages/viewpage.action?pageId=229378</a>
<p>もっと詳しい情報ここに参照できます。 「<a href="http://www.infoq.com/jp/news/2008/02/granite-data-services" rel="nofollow" target="_blank">Granite Data Service：オープンソースのFlex向けData Service</a>」</p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/08/05/jags-open-source-java-actionscript-game-server.html" title="JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ">JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ</a></li>
<li><a href="http://digitechlog.com/2011/11/08/php-screw.html" title="オープンソースソフトウェアPHP ScrewでPHPスクリプトを暗号化する">オープンソースソフトウェアPHP ScrewでPHPスクリプトを暗号化する</a></li>
<li><a href="http://digitechlog.com/2010/05/17/open-source-library-betweenas3-tutorials.html" title="オープンソースのASライブラリBetweenAS3のチュートリアル">オープンソースのASライブラリBetweenAS3のチュートリアル</a></li>
<li><a href="http://digitechlog.com/2010/04/19/fzip-actionscript-3-open-source-class-library.html" title="FZip: ZIP読込み、作成用AS3のライブラリ">FZip: ZIP読込み、作成用AS3のライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/03/22/actionscript3-utils-classes-to-extend-http-https-flash-player-9.html" title="as3httpclient: オープンソースのHTTP/HTTPS AS3クライアント">as3httpclient: オープンソースのHTTP/HTTPS AS3クライアント</a></li>
<li><a href="http://digitechlog.com/2010/03/12/7-asynchronous-processing-open-source-actionscript-library.html" title="７+ AS3で非同期処理のオープンソースのライブラリ一覧">７+ AS3で非同期処理のオープンソースのライブラリ一覧</a></li>
<li><a href="http://digitechlog.com/2010/02/28/as3soundeditorlib-actionscript-3-library-for-sound-playback-spectrum-display-and-cue-point-display.html" title="as3soundeditorlib: オープンソースのActionScript 3サウンド編集ライブラリ">as3soundeditorlib: オープンソースのActionScript 3サウンド編集ライブラリ</a></li>
<li><a href="http://digitechlog.com/2010/02/21/sazamek-flash-based-online-audio-manipulating-platform-with-as3-open-source-library.html" title="Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム">Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/08/23/granite-data-services-free-lgpl-alternative-to-adobe-livecycle-data-services-for-j2ee-servers.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flosc(Flash OpenSound Control): flashと他のプラットフォーム同士でデータを送受信するJavaサーバー</title>
		<link>http://digitechlog.com/2009/08/16/flosc-flash-opensound-control-java-server-enabling-communication-between-flash-and-osc.html</link>
		<comments>http://digitechlog.com/2009/08/16/flosc-flash-opensound-control-java-server-enabling-communication-between-flash-and-osc.html#comments</comments>
		<pubDate>Sun, 16 Aug 2009 12:59:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash Project]]></category>
		<category><![CDATA[Flosc]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[サーバー]]></category>
		<category><![CDATA[送受信]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/08/16/flosc-flash-opensound-control-java-server-enabling-communication-between-flash-and-osc.html</guid>
		<description><![CDATA[Flosc(Flash OpenSound Control)とは、Javaで開発され、OpenSound Controlというプロトコルを利用して、flashと他のプラットフォーム同士でデータを送受信できるサーバーです。 Max/MSP、Processing、C言語によるプログラムなどだけではなくて、FlashのXMLSocketを使ってAdobe Flash(Flash 5以降）とコミュニケーションも可能です。

OpenSound Control(以下、OSC)は、アプリケーション間、ハードウェア間をUDP/IP通信でコミュニケーションするためのデータ通信プロトコルです。
Floscを利用して、グラフィックの描画はFlashで行ない、音声はMax/MSPで実行する、3Dグラフィックの描画はC++やCocoa(Objective-C)で行ない、音声はMax/MSPで実行するなどはできるとなります。

現時点までのバージョンは０．３．１です。以下はFloscの使用方法の説明です。
【インストール】
まず、OpenSound ControlのライブラリがMax/MSPの”Cycling ‘74″フォルダの中に入っていることを確認してください。OpenSound ControlがなければOpenSoundControlのページからダウンロードしてください。関係ないオブジェクトもあるんですが、解凍したフォルダごと”Cycling ‘74″フォルダに入れちゃっていいです。
OTUDP 3.0.2 for OSX/CFMをダウンロードし、”Cycling ‘74″フォルダに入れて下さい。
以下のファイルをダウンロードして解凍します。どこに置いてもかまわないのですが、ここでは分かりやすいようにデスクトップに置いておきます。flosc-0.3.1.tar.gz(全てのプラットフォーム用 – 56 KB)flosc-0.3.1というフォルダが作成されます。
【サーバの稼働】
[アプリケーション]-&#62;[ユーティリティ]-&#62;[ターミナル]を開き、cdを打ち込んでからfloscフォルダのパスを打ち込み、Enterキーを押します。このパスを打ち込む作業は、目的のフォルダをターミナルの画面にドラッグするだけでも実行されます。あとは、ゲートウェイを稼働させます。“java Gateway 1250 3000“と打ち込み、Enter(もしくはreturn）キーを押します。この場合、1250は外部からFlashに送られてくるデータ用のポートで、3000はFlashから外部に送るポートです。この数字でなくてもかまわないのですが、サンプルはこのポート番号で設定されているので、よく分からない人は、この数値は変更しない方がいいと思います。ゲートウェイを終了させるときは、Control + cです。作業が終わったら終了することを忘れないようにしましょう。
で、そこから自分で簡単なサンプルを作れます。※サンプルは次の関連リンクの２番目のリンクからダウンロードできます。
【関連リンク】
１、http://benchun.net/flosc/
２、http://r-dimension.xsrv.jp/classes_j/flosc/
Related Posts

Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス
JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ
OpenAMF: オープンソースのJava Flashリモートツール
Javaでデータをエクセルにエクスポートするクラスと使用例
Javaでsplitを使ってＣＳＶファイル読み込み
Eclipse: オープンソースの統合開発環境(IDE)である
ServeBox Foundry (sbasfoundry): オープンソースのFlex 2/3アプリケーションを開発するActionScript 3 / Javaフレームワーク
JGenerator: Javaで動的にテキスト、グラフィックおよび音を結合してFlash内容を生成するWebサーバの製品アプリケーション

]]></description>
			<content:encoded><![CDATA[<p>Flosc(Flash OpenSound Control)とは、Javaで開発され、OpenSound Controlというプロトコルを利用して、flashと他のプラットフォーム同士でデータを送受信できるサーバーです。 Max/MSP、Processing、C言語によるプログラムなどだけではなくて、FlashのXMLSocketを使ってAdobe Flash(Flash 5以降）とコミュニケーションも可能です。</p>
<p><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="flosc" align="left" src="http://digitechlog.com/wp-content/uploads/2009/08/flosc.gif" width="282" height="114"></p>
<p>OpenSound Control(以下、OSC)は、アプリケーション間、ハードウェア間をUDP/IP通信でコミュニケーションするためのデータ通信プロトコルです。</p>
<p>Floscを利用して、グラフィックの描画はFlashで行ない、音声はMax/MSPで実行する、3Dグラフィックの描画はC++やCocoa(Objective-C)で行ない、音声はMax/MSPで実行するなどはできるとなります。</p>
<p><span id="more-583"></span>
<p>現時点までのバージョンは０．３．１です。以下はFloscの使用方法の説明です。</p>
<p><strong>【インストール】</strong></p>
<p>まず、OpenSound ControlのライブラリがMax/MSPの”Cycling ‘74″フォルダの中に入っていることを確認してください。OpenSound Controlがなければ<a href="http://www.cnmat.berkeley.edu/OpenSoundControl/" rel="nofollow" target="_blank">OpenSoundControl</a>のページからダウンロードしてください。関係ないオブジェクトもあるんですが、解凍したフォルダごと”Cycling ‘74″フォルダに入れちゃっていいです。
<p><a href="http://www.cnmat.berkeley.edu/Max/old/otudp.3.0.2.OSX.sit" rel="nofollow" target="_blank">OTUDP 3.0.2 for OSX/CFM</a>をダウンロードし、”Cycling ‘74″フォルダに入れて下さい。
<p>以下のファイルをダウンロードして解凍します。どこに置いてもかまわないのですが、ここでは分かりやすいようにデスクトップに置いておきます。<br /><a href="http://www.benchun.net/flosc/download/flosc-0.3.1.tar.gz" rel="nofollow" target="_blank">flosc-0.3.1.tar.gz</a>(全てのプラットフォーム用 – 56 KB)<br />flosc-0.3.1というフォルダが作成されます。
<p><strong>【サーバの稼働】</strong>
<p>[アプリケーション]-&gt;[ユーティリティ]-&gt;[ターミナル]を開き、cdを打ち込んでからfloscフォルダのパスを打ち込み、Enterキーを押します。このパスを打ち込む作業は、目的のフォルダをターミナルの画面にドラッグするだけでも実行されます。あとは、ゲートウェイを稼働させます。“java Gateway 1250 3000“と打ち込み、Enter(もしくはreturn）キーを押します。この場合、1250は外部からFlashに送られてくるデータ用のポートで、3000はFlashから外部に送るポートです。この数字でなくてもかまわないのですが、サンプルはこのポート番号で設定されているので、よく分からない人は、この数値は変更しない方がいいと思います。ゲートウェイを終了させるときは、Control + cです。作業が終わったら終了することを忘れないようにしましょう。
<p>で、そこから自分で簡単なサンプルを作れます。※サンプルは次の関連リンクの２番目のリンクからダウンロードできます。
<p><strong>【関連リンク】</strong>
<p>１、<a title="http://benchun.net/flosc/" href="http://benchun.net/flosc/" rel="nofollow" target="_blank">http://benchun.net/flosc/</a>
<p>２、<a title="http://r-dimension.xsrv.jp/classes_j/flosc/" href="http://r-dimension.xsrv.jp/classes_j/flosc/" rel="nofollow" target="_blank">http://r-dimension.xsrv.jp/classes_j/flosc/</a><br />
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/08/23/granite-data-services-free-lgpl-alternative-to-adobe-livecycle-data-services-for-j2ee-servers.html" title="Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス">Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス</a></li>
<li><a href="http://digitechlog.com/2009/08/05/jags-open-source-java-actionscript-game-server.html" title="JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ">JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ</a></li>
<li><a href="http://digitechlog.com/2009/07/10/openamf-free-open-source-alternative-to-adobe-java-flash-remoting.html" title="OpenAMF: オープンソースのJava Flashリモートツール">OpenAMF: オープンソースのJava Flashリモートツール</a></li>
<li><a href="http://digitechlog.com/2009/05/15/a-useful-java-class-for-export-data-into-excel-with-jakarta-poi-hssfworkbook.html" title="Javaでデータをエクセルにエクスポートするクラスと使用例">Javaでデータをエクセルにエクスポートするクラスと使用例</a></li>
<li><a href="http://digitechlog.com/2009/05/11/how-to-split-csv-file-in-java-with-split-function.html" title="Javaでsplitを使ってＣＳＶファイル読み込み">Javaでsplitを使ってＣＳＶファイル読み込み</a></li>
<li><a href="http://digitechlog.com/2009/03/06/eclipse-an-open-extensible-ide-for-anything-and-nothing-in-particular.html" title="Eclipse: オープンソースの統合開発環境(IDE)である">Eclipse: オープンソースの統合開発環境(IDE)である</a></li>
<li><a href="http://digitechlog.com/2009/02/25/servebox-foundry-an-actionscript-3-java-framework-designed-for-flex-2-3-applications-development.html" title="ServeBox Foundry (sbasfoundry): オープンソースのFlex 2/3アプリケーションを開発するActionScript 3 / Javaフレームワーク">ServeBox Foundry (sbasfoundry): オープンソースのFlex 2/3アプリケーションを開発するActionScript 3 / Javaフレームワーク</a></li>
<li><a href="http://digitechlog.com/2009/02/12/jgenerator-the-web-server-production-application-dynamically-combine-text-graphics-and-sound-to-build-rich-flash-content.html" title="JGenerator: Javaで動的にテキスト、グラフィックおよび音を結合してFlash内容を生成するWebサーバの製品アプリケーション">JGenerator: Javaで動的にテキスト、グラフィックおよび音を結合してFlash内容を生成するWebサーバの製品アプリケーション</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/08/16/flosc-flash-opensound-control-java-server-enabling-communication-between-flash-and-osc.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ</title>
		<link>http://digitechlog.com/2009/08/05/jags-open-source-java-actionscript-game-server.html</link>
		<comments>http://digitechlog.com/2009/08/05/jags-open-source-java-actionscript-game-server.html#comments</comments>
		<pubDate>Tue, 04 Aug 2009 15:38:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash Project]]></category>
		<category><![CDATA[JAGS]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[オープンソース]]></category>
		<category><![CDATA[ゲームサーバ]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/08/05/jags-open-source-java-actionscript-game-server.html</guid>
		<description><![CDATA[「JAGS Game Server」とは、JavaとActionScript 3で開発され、マルチプレイヤーソケットを用意して、キーボードイベントなどを受け取れるオープンソースのゲームサーバです。
ゲームならPCゲーム、PSPゲーム、携帯ゲームとオンラインゲームなどいろいろ形式があります。開発者に対して、特にJavaとActionScriptの開発者たちはマルチプレイヤーがサポートされてるゲームをどのようの仕組みで、どのようの構成で作れるのは興味があるかもしれないね。一番いいのは、最初開発言語を勉強したとき、簡単な「Hello、World！」から勉強すれば簡単ですね。
もちろんサーバ側の基本的な構成とクライアント側のものがあればもっといいですよね。そいうふうな気持ちを持って皆さん、今回紹介する「JAGS Game Server」をダウンロードして勉強しましょう。

 　
クライアント側が出発点としてなら、基礎的なJAGSサーバの構成、ゲームタイム、キーボードの入力処理、ログインサンプル、ゲームのスタートイベントとカスタマイズイベントなどの知識を勉強できます。
逆にサーバ側ならJAGSサーバに開発したゲームのホーク処理、ログインしたユーザのコマンド処理サンプルを勉強出来ます。
クライアント側のActionScriptは以下のリンクからダウンロードできます。Run AS3 Client&#160; &#124; Download Flex Project
サーバ側は以下のリンクからダウンロードできます。Download Executable Jar &#124; Download Netbeans Project
JAGSの公式ページにはまだほかのゲーム関連のほか資料もいっぱいがあるので、興味があれば次のURLでアクセスできます。http://www.fireleg.com/
Related Posts

７+ AS3で非同期処理のオープンソースのライブラリ一覧
AS3Unit: ActionScript 3.0上JUnit4の移植、単体テストを行うためのフレームワーク
FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン
Alcon: オープンソースのActionScript向けの軽量デバッギングツール
PHPObject: PHPとFlashのActionScript連携パッケージ
Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス
Movie Masher: ActionScript 3ベースのオンラインビデオエディタ
MC Tween: Flashマイクロサイトを１日で制作可能となるオープンソースのASフレームワーク

]]></description>
			<content:encoded><![CDATA[<p>「JAGS Game Server」とは、JavaとActionScript 3で開発され、マルチプレイヤーソケットを用意して、キーボードイベントなどを受け取れるオープンソースのゲームサーバです。</p>
<p>ゲームならPCゲーム、PSPゲーム、携帯ゲームとオンラインゲームなどいろいろ形式があります。開発者に対して、特にJavaとActionScriptの開発者たちはマルチプレイヤーがサポートされてるゲームをどのようの仕組みで、どのようの構成で作れるのは興味があるかもしれないね。一番いいのは、最初開発言語を勉強したとき、簡単な「Hello、World！」から勉強すれば簡単ですね。</p>
<p>もちろんサーバ側の基本的な構成とクライアント側のものがあればもっといいですよね。そいうふうな気持ちを持って皆さん、今回紹介する「JAGS Game Server」をダウンロードして勉強しましょう。</p>
<p><span id="more-581"></span>
<p><a href="http://digitechlog.com/wp-content/uploads/2009/08/JAGS-Game-Server.png"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="JAGS-Game-Server" src="http://digitechlog.com/wp-content/uploads/2009/08/JAGS-Game-Server_thumb.png" width="484" height="268"></a> 　</p>
<p>クライアント側が出発点としてなら、基礎的なJAGSサーバの構成、ゲームタイム、キーボードの入力処理、ログインサンプル、ゲームのスタートイベントとカスタマイズイベントなどの知識を勉強できます。</p>
<p>逆にサーバ側ならJAGSサーバに開発したゲームのホーク処理、ログインしたユーザのコマンド処理サンプルを勉強出来ます。</p>
<p>クライアント側のActionScriptは以下のリンクからダウンロードできます。<b><br /><a href="http://fireleg.com/actionscript3/Login1.1.swf" rel="nofollow" target="_blank">Run AS3 Client</a>&nbsp; | <a href="http://fireleg.com/actionscript3/Login1.1.flex.rar" rel="nofollow" target="_blank">Download Flex Project</a></b></p>
<p>サーバ側は以下のリンクからダウンロードできます。<b><br /><a href="http://fireleg.com/jags/jags_server1.4m.jar" rel="nofollow" target="_blank">Download Executable Jar</a> | <a href="http://fireleg.com/jags/jags_server1.4m.nb60project.rar" rel="nofollow" target="_blank">Download Netbeans Project</a></b></p>
<p>JAGSの公式ページにはまだほかのゲーム関連のほか資料もいっぱいがあるので、興味があれば次のURLでアクセスできます。<a title="http://www.fireleg.com/" href="http://www.fireleg.com/" rel="nofollow" target="_blank">http://www.fireleg.com/</a></p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2010/03/12/7-asynchronous-processing-open-source-actionscript-library.html" title="７+ AS3で非同期処理のオープンソースのライブラリ一覧">７+ AS3で非同期処理のオープンソースのライブラリ一覧</a></li>
<li><a href="http://digitechlog.com/2010/02/13/as3unit-actionscript-3-junit-for-flash.html" title="AS3Unit: ActionScript 3.0上JUnit4の移植、単体テストを行うためのフレームワーク">AS3Unit: ActionScript 3.0上JUnit4の移植、単体テストを行うためのフレームワーク</a></li>
<li><a href="http://digitechlog.com/2010/02/07/foam-as3-2d-rigid-body-physics-engine.html" title="FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン">FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン</a></li>
<li><a href="http://digitechlog.com/2009/10/15/alcon-a-lightweight-debugging-tool-for-actionscript-developers.html" title="Alcon: オープンソースのActionScript向けの軽量デバッギングツール">Alcon: オープンソースのActionScript向けの軽量デバッギングツール</a></li>
<li><a href="http://digitechlog.com/2009/08/25/phpobject-is-a-flash-remoting-alternative-for-php.html" title="PHPObject: PHPとFlashのActionScript連携パッケージ">PHPObject: PHPとFlashのActionScript連携パッケージ</a></li>
<li><a href="http://digitechlog.com/2009/08/23/granite-data-services-free-lgpl-alternative-to-adobe-livecycle-data-services-for-j2ee-servers.html" title="Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス">Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス</a></li>
<li><a href="http://digitechlog.com/2009/06/19/movie-masher-open-source-video-editing-tools.html" title="Movie Masher: ActionScript 3ベースのオンラインビデオエディタ">Movie Masher: ActionScript 3ベースのオンラインビデオエディタ</a></li>
<li><a href="http://digitechlog.com/2009/05/18/mc-tween-open-source-actionscript-framework-save-your-time.html" title="MC Tween: Flashマイクロサイトを１日で制作可能となるオープンソースのASフレームワーク">MC Tween: Flashマイクロサイトを１日で制作可能となるオープンソースのASフレームワーク</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/08/05/jags-open-source-java-actionscript-game-server.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenAMF: オープンソースのJava Flashリモートツール</title>
		<link>http://digitechlog.com/2009/07/10/openamf-free-open-source-alternative-to-adobe-java-flash-remoting.html</link>
		<comments>http://digitechlog.com/2009/07/10/openamf-free-open-source-alternative-to-adobe-java-flash-remoting.html#comments</comments>
		<pubDate>Fri, 10 Jul 2009 09:16:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flash Project]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[OpenAMF]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/07/10/openamf-free-open-source-alternative-to-adobe-java-flash-remoting.html</guid>
		<description><![CDATA[OpenAMFとは、JavaのオープンソースのFlash Remotingをするための代替されています。、多くのクライアントには、独自の能力のSWFミリのソリューションよりも、アプリケーションサービスを提供されているプログラムを生成することは、該当プロジェクトの目標です。
Carbon FiveのASTranslatorを組み込んでおり、Flash－Java間のクラス変換についてソース上で全く意識することなく使用できるオープンソースのプロジェクトです。Flash－Javaのクラス・マッピングの記述が必要なって、それは/WEB-INF/openamf-config.xmlに非常にシンプルな形で設定できます。Java側のクラス名が変更になっても、Flashのソースを一切いじらずに修正ができます。
このプロジェクト最初はAMF-PHPのJAVAのポートとしてから始まったです。インタネット中にちょっと探してみましたが、JavaDoc API以外のドキュメントがまだないようです。

・Flash Remotingに必要な環境
僕の環境は次のような感じです。



OS
Windows XP Pro


Flash
Flash MX


JDK
Java2SDK 1.5.12


APサーバ
Tomcat 5.5



・クライアントサイドのセットアップ
クライアントサイドにはFlashのほかにFlash Remoting MXコンポーネントをインストールします。これはFlashをインストールしただけでは入りません。Flash Remotingには必須なので 、何も考えずに入れましょう。Macromediaのサイトからダウンロードできます。ダウンロードするURLはhttp://www.adobe.com/jp/products/flashremoting/downloads/components/です。
・サーバサイドのセットアップ
JavaやTomcatのインストールは簡単なので、ここは省略させて頂きます。OpenAMFのインストールについて、次のURLからダウンロードできます。http://sourceforge.net/projects/openamf/
まず、$CATALINA_HOME/webappsにFlashRemotingというディレクトリをつくりましょう。さらにWEB-INF/lib ディレクトリをつくり、ここにopenamf.jarとlibディレクトリにあるJAR ファイルをすべてコピーしてください。そして、src/web/WEB-INFディレクトリにあるopenamf- config.xmlとweb.xmlをTomcatのWEB-INFディレクトリにコピーしてください。
そこまで必要なもののインストールは終わりました。
サンプルの作成は
・http://www5a.biglobe.ne.jp/~tomeo/flash/1_fr/3_finish.html
・http://www.noridon.net/weblogs/archives/2006/01/flex2openamfas.html
を参考して実装してみてください。
Related Posts

GPLFlash: GNU/Linux上でAdobeのFlashムービーを再生しよう
5個アドビFlashメニューとナビゲーションのチュートリアル
JGenerator: Javaで動的にテキスト、グラフィックおよび音を結合してFlash内容を生成するWebサーバの製品アプリケーション
8 Adobe ActionScriptのチュートリアルフラッシュ
Flash Builder 4コンパイラーの不具合( FB 4.0 build 272416 )
Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム
FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン
glaze: ActionScript用2D物理演算エンジン

]]></description>
			<content:encoded><![CDATA[<p>OpenAMFとは、JavaのオープンソースのFlash Remotingをするための代替されています。、多くのクライアントには、独自の能力のSWFミリのソリューションよりも、アプリケーションサービスを提供されているプログラムを生成することは、該当プロジェクトの目標です。</p>
<p>Carbon FiveのASTranslatorを組み込んでおり、Flash－Java間のクラス変換についてソース上で全く意識することなく使用できるオープンソースのプロジェクトです。Flash－Javaのクラス・マッピングの記述が必要なって、それは/WEB-INF/openamf-config.xmlに非常にシンプルな形で設定できます。Java側のクラス名が変更になっても、Flashのソースを一切いじらずに修正ができます。</p>
<p>このプロジェクト最初はAMF-PHPのJAVAのポートとしてから始まったです。インタネット中にちょっと探してみましたが、JavaDoc API以外のドキュメントがまだないようです。</p>
<p><span id="more-553"></span>
<p><strong>・Flash Remotingに必要な環境</strong></p>
<p>僕の環境は次のような感じです。</p>
<table cellspacing="0" cellpadding="7" width="261" border="1">
<tbody>
<tr>
<td width="74">OS</td>
<td width="186">Windows XP Pro</td>
</tr>
<tr>
<td width="74">Flash</td>
<td width="186">Flash MX</td>
</tr>
<tr>
<td width="74">JDK</td>
<td width="186">Java2SDK 1.5.12</td>
</tr>
<tr>
<td width="74">APサーバ</td>
<td width="186">Tomcat 5.5</td>
</tr>
</tbody>
</table>
<p><strong>・クライアントサイドのセットアップ</strong></p>
<p>クライアントサイドにはFlashのほかにFlash Remoting MXコンポーネントをインストールします。これはFlashをインストールしただけでは入りません。Flash Remotingには必須なので 、何も考えずに入れましょう。Macromediaのサイトからダウンロードできます。<br />ダウンロードするURLは<a title="http://www.adobe.com/jp/products/flashremoting/downloads/components/" href="http://www.adobe.com/jp/products/flashremoting/downloads/components/">http://www.adobe.com/jp/products/flashremoting/downloads/components/</a>です。
<p><strong>・サーバサイドのセットアップ</strong>
<p>JavaやTomcatのインストールは簡単なので、ここは省略させて頂きます。OpenAMFのインストールについて、次のURLからダウンロードできます。<a title="http://sourceforge.net/projects/openamf/" href="http://sourceforge.net/projects/openamf/">http://sourceforge.net/projects/openamf/</a>
<p>まず、$CATALINA_HOME/webappsにFlashRemotingというディレクトリをつくりましょう。さらにWEB-INF/lib ディレクトリをつくり、ここにopenamf.jarとlibディレクトリにあるJAR ファイルをすべてコピーしてください。そして、src/web/WEB-INFディレクトリにあるopenamf- config.xmlとweb.xmlをTomcatのWEB-INFディレクトリにコピーしてください。
<p>そこまで必要なもののインストールは終わりました。
<p>サンプルの作成は
<p>・<a title="http://www5a.biglobe.ne.jp/~tomeo/flash/1_fr/3_finish.html" href="http://www5a.biglobe.ne.jp/~tomeo/flash/1_fr/3_finish.html">http://www5a.biglobe.ne.jp/~tomeo/flash/1_fr/3_finish.html</a>
<p>・<a title="http://www.noridon.net/weblogs/archives/2006/01/flex2openamfas.html" href="http://www.noridon.net/weblogs/archives/2006/01/flex2openamfas.html">http://www.noridon.net/weblogs/archives/2006/01/flex2openamfas.html</a>
<p>を参考して実装してみてください。</p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/12/01/gplflash-another-alternative-flash-runtime.html" title="GPLFlash: GNU/Linux上でAdobeのFlashムービーを再生しよう">GPLFlash: GNU/Linux上でAdobeのFlashムービーを再生しよう</a></li>
<li><a href="http://digitechlog.com/2009/10/31/5-useful-aadobe-flash-menu-and-navigation-tutorials.html" title="5個アドビFlashメニューとナビゲーションのチュートリアル">5個アドビFlashメニューとナビゲーションのチュートリアル</a></li>
<li><a href="http://digitechlog.com/2009/02/12/jgenerator-the-web-server-production-application-dynamically-combine-text-graphics-and-sound-to-build-rich-flash-content.html" title="JGenerator: Javaで動的にテキスト、グラフィックおよび音を結合してFlash内容を生成するWebサーバの製品アプリケーション">JGenerator: Javaで動的にテキスト、グラフィックおよび音を結合してFlash内容を生成するWebサーバの製品アプリケーション</a></li>
<li><a href="http://digitechlog.com/2010/06/06/8-helpfull-adobe-flash-actionscript.html" title="8 Adobe ActionScriptのチュートリアルフラッシュ">8 Adobe ActionScriptのチュートリアルフラッシュ</a></li>
<li><a href="http://digitechlog.com/2010/04/26/flash-builder-4-build-272416-compiler-bug-and-solutions.html" title="Flash Builder 4コンパイラーの不具合( FB 4.0 build 272416 )">Flash Builder 4コンパイラーの不具合( FB 4.0 build 272416 )</a></li>
<li><a href="http://digitechlog.com/2010/02/21/sazamek-flash-based-online-audio-manipulating-platform-with-as3-open-source-library.html" title="Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム">Sazameki: Flashを使ったオーディオ操作のためのオンラインプラットホーム</a></li>
<li><a href="http://digitechlog.com/2010/02/07/foam-as3-2d-rigid-body-physics-engine.html" title="FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン">FOAM-AS3: ActionScript 3で開発されたオープンソースの２D物理エンジン</a></li>
<li><a href="http://digitechlog.com/2010/01/30/glaze-2d-rigid-body-dynamics-game-engine-for-actionsctipt-3.html" title="glaze: ActionScript用2D物理演算エンジン">glaze: ActionScript用2D物理演算エンジン</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/07/10/openamf-free-open-source-alternative-to-adobe-java-flash-remoting.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javaでデータをエクセルにエクスポートするクラスと使用例</title>
		<link>http://digitechlog.com/2009/05/15/a-useful-java-class-for-export-data-into-excel-with-jakarta-poi-hssfworkbook.html</link>
		<comments>http://digitechlog.com/2009/05/15/a-useful-java-class-for-export-data-into-excel-with-jakarta-poi-hssfworkbook.html#comments</comments>
		<pubDate>Fri, 15 May 2009 08:47:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[HSSFWorkbook]]></category>
		<category><![CDATA[Jakarta]]></category>
		<category><![CDATA[POI]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2009/05/15/a-useful-java-class-for-export-data-into-excel-with-jakarta-poi-hssfworkbook.html</guid>
		<description><![CDATA[POIのHSSFWorkbookなどクラスを利用するとJavaでデータをエクセルに出力することはできますが、毎回自分でエクセルのシートを作成して、データをセルにセットしなければいけないです。ちょっと面倒じゃないかと思ってます。
その問題を解決するため、以下の共通できるJavaクラスを作りました。データを格納しているリストとシート名を指定して、エクセルを作れます。
※POIとは、Jakarta POIは総称であり、JavaアプリケーションからExcelなどのMicrosoft製品のフォーマットファイルを読み書きすることができます(Excelだけではなくて、Wordなども操作可能ということです)。Excelファイルを取り扱う場合はその中のHSSFを使います(Wordの場合はHWPFのようです)。
 
では、以下は該当クラスのソースコード(ここにクリックしてダウンロードできます)：
package com.cthq.crm.account.common; 
&#160;
import&#160;java.util.List;
import&#160;org.apache.poi.hssf.usermodel.HSSFCell;
import&#160;org.apache.poi.hssf.usermodel.HSSFCellStyle;
import&#160;org.apache.poi.hssf.usermodel.HSSFFont;
import&#160;org.apache.poi.hssf.usermodel.HSSFRow;
import&#160;org.apache.poi.hssf.usermodel.HSSFSheet;
import&#160;org.apache.poi.hssf.usermodel.HSSFWorkbook; 
&#160;
public&#160;class ExcelUtil {&#160;
&#160;
&#160; &#160; /**
&#160; &#160;&#160; * Excelファイルにエクスポート
&#160; &#160;&#160; * 
&#160; &#160;&#160; * @param list データ集
&#160; &#160;&#160; * @param sheetname エクセルシート名
&#160; &#160;&#160; * @return
&#160; &#160;&#160; */
&#160; &#160; public&#160;synchronized HSSFWorkbook getWorkbook(List list,String sheetname){
&#160; &#160; &#160; &#160; HSSFWorkbook&#160;hwb = new HSSFWorkbook();// 新しいHSSFWorkbookインスタンス作成
&#160; &#160; &#160; &#160; HSSFSheet&#160;hs = hwb.createSheet();// 新しいシート対象を作成する
&#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>POIのHSSFWorkbookなどクラスを利用するとJavaでデータをエクセルに出力することはできますが、毎回自分でエクセルのシートを作成して、データをセルにセットしなければいけないです。ちょっと面倒じゃないかと思ってます。</p>
<p>その問題を解決するため、以下の共通できるJavaクラスを作りました。データを格納しているリストとシート名を指定して、エクセルを作れます。</p>
<p>※POIとは、Jakarta POIは総称であり、JavaアプリケーションからExcelなどのMicrosoft製品のフォーマットファイルを読み書きすることができます(Excelだけではなくて、Wordなども操作可能ということです)。Excelファイルを取り扱う場合はその中のHSSFを使います(Wordの場合はHWPFのようです)。</p>
<p><span id="more-487"></span> </p>
<p>では、以下は該当クラスのソースコード(<a href="http://digitechlog.com/ext/ExcelUtil.java" target="_blank">ここに</a>クリックしてダウンロードできます)：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">package</span><span style="color: Gray;"> </span><span style="color: Blue;">com</span><span style="color: Gray;">.</span><span style="color: Blue;">cthq</span><span style="color: Gray;">.</span><span style="color: Blue;">crm</span><span style="color: Gray;">.</span><span style="color: Blue;">account</span><span style="color: Gray;">.</span><span style="color: Blue;">common</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">java</span><span style="color: Gray;">.</span><span style="color: Blue;">util</span><span style="color: Gray;">.</span><span style="color: Blue;">List</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">org</span><span style="color: Gray;">.</span><span style="color: Blue;">apache</span><span style="color: Gray;">.</span><span style="color: Blue;">poi</span><span style="color: Gray;">.</span><span style="color: Blue;">hssf</span><span style="color: Gray;">.</span><span style="color: Blue;">usermodel</span><span style="color: Gray;">.</span><span style="color: Blue;">HSSFCell</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">org</span><span style="color: Gray;">.</span><span style="color: Blue;">apache</span><span style="color: Gray;">.</span><span style="color: Blue;">poi</span><span style="color: Gray;">.</span><span style="color: Blue;">hssf</span><span style="color: Gray;">.</span><span style="color: Blue;">usermodel</span><span style="color: Gray;">.</span><span style="color: Blue;">HSSFCellStyle</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">org</span><span style="color: Gray;">.</span><span style="color: Blue;">apache</span><span style="color: Gray;">.</span><span style="color: Blue;">poi</span><span style="color: Gray;">.</span><span style="color: Blue;">hssf</span><span style="color: Gray;">.</span><span style="color: Blue;">usermodel</span><span style="color: Gray;">.</span><span style="color: Blue;">HSSFFont</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">org</span><span style="color: Gray;">.</span><span style="color: Blue;">apache</span><span style="color: Gray;">.</span><span style="color: Blue;">poi</span><span style="color: Gray;">.</span><span style="color: Blue;">hssf</span><span style="color: Gray;">.</span><span style="color: Blue;">usermodel</span><span style="color: Gray;">.</span><span style="color: Blue;">HSSFRow</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">org</span><span style="color: Gray;">.</span><span style="color: Blue;">apache</span><span style="color: Gray;">.</span><span style="color: Blue;">poi</span><span style="color: Gray;">.</span><span style="color: Blue;">hssf</span><span style="color: Gray;">.</span><span style="color: Blue;">usermodel</span><span style="color: Gray;">.</span><span style="color: Blue;">HSSFSheet</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">import</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">org</span><span style="color: Gray;">.</span><span style="color: Blue;">apache</span><span style="color: Gray;">.</span><span style="color: Blue;">poi</span><span style="color: Gray;">.</span><span style="color: Blue;">hssf</span><span style="color: Gray;">.</span><span style="color: Blue;">usermodel</span><span style="color: Gray;">.</span><span style="color: Blue;">HSSFWorkbook</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">class</span><span style="color: Gray;"> </span><span style="color: Blue;">ExcelUtil</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; * Excelファイルにエクスポート</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; * </span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; *</span><span style="color: Blue;"> @param </span><span style="color: #ffa500;">list データ集</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; *</span><span style="color: Blue;"> @param </span><span style="color: #ffa500;">sheetname エクセルシート名</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; *</span><span style="color: Blue;"> @return</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; */</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">synchronized</span><span style="color: Gray;"> </span><span style="color: Blue;">HSSFWorkbook</span><span style="color: Gray;"> </span><span style="color: Blue;">getWorkbook</span><span style="color: Olive;">(</span><span style="color: Blue;">List</span><span style="color: Gray;"> </span><span style="color: Blue;">list</span><span style="color: Gray;">,</span><span style="color: Blue;">String</span><span style="color: Gray;"> </span><span style="color: Blue;">sheetname</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFWorkbook</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">hwb</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">HSSFWorkbook</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// 新しいHSSFWorkbookインスタンス作成</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFSheet</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">hs</span><span style="color: Gray;"> = </span><span style="color: Blue;">hwb</span><span style="color: Gray;">.</span><span style="color: Blue;">createSheet</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// 新しいシート対象を作成する</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">hwb</span><span style="color: Gray;">.</span><span style="color: Blue;">setSheetName</span><span style="color: Olive;">(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Blue;">sheetname</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// 作成したシートの名称 </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">excellist</span><span style="color: Gray;">=</span><span style="color: Blue;">list</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFFont</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">font</span><span style="color: Gray;"> = </span><span style="color: Blue;">hwb</span><span style="color: Gray;">.</span><span style="color: Blue;">createFont</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">font</span><span style="color: Gray;">.</span><span style="color: Blue;">setColor</span><span style="color: Olive;">((</span><span class="hl-types">short</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">12</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFCellStyle</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">style</span><span style="color: Gray;"> = </span><span style="color: Blue;">hwb</span><span style="color: Gray;">.</span><span style="color: Blue;">createCellStyle</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">style</span><span style="color: Gray;">.</span><span style="color: Blue;">setFont</span><span style="color: Olive;">(</span><span style="color: Blue;">font</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFRow</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">hr</span><span style="color: Gray;"> = </span><span style="color: Blue;">hs</span><span style="color: Gray;">.</span><span style="color: Blue;">createRow</span><span style="color: Olive;">((</span><span class="hl-types">short</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Maroon;">3</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// ヘッダー</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">headerlist</span><span style="color: Gray;">=</span><span style="color: Olive;">(</span><span style="color: Blue;">List</span><span style="color: Olive;">)</span><span style="color: Blue;">excellist</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Maroon;">0</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">for</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;"> </span><span style="color: Blue;">i</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;"> &lt; </span><span style="color: Blue;">headerlist</span><span style="color: Gray;">.</span><span style="color: Blue;">size</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;">++</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFCell</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">cell</span><span style="color: Gray;"> = </span><span style="color: Blue;">hr</span><span style="color: Gray;">.</span><span style="color: Blue;">createCell</span><span style="color: Olive;">((</span><span class="hl-types">short</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// セル</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//cell.setEncoding(HSSFCell.ENCODING_UTF_16);// 必要であればコマンドアウト</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">cell</span><span style="color: Gray;">.</span><span style="color: Blue;">setCellValue</span><span style="color: Olive;">((</span><span style="color: Blue;">String</span><span style="color: Olive;">)</span><span style="color: Blue;">headerlist</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// セル文字列型のセット</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">cell</span><span style="color: Gray;">.</span><span style="color: Blue;">setCellStyle</span><span style="color: Olive;">(</span><span style="color: Blue;">style</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">for</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">i</span><span style="color: Gray;"> = </span><span style="color: Maroon;">1</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;"> &lt; </span><span style="color: Blue;">excellist</span><span style="color: Gray;">.</span><span style="color: Blue;">size</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">valuelist</span><span style="color: Gray;">=</span><span style="color: Olive;">(</span><span style="color: Blue;">List</span><span style="color: Olive;">)</span><span style="color: Blue;">excellist</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">hr</span><span style="color: Gray;"> = </span><span style="color: Blue;">hs</span><span style="color: Gray;">.</span><span style="color: Blue;">createRow</span><span style="color: Olive;">((</span><span class="hl-types">short</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// 新しい行</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">for</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;"> </span><span style="color: Blue;">ii</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">ii</span><span style="color: Gray;"> &lt; </span><span style="color: Blue;">valuelist</span><span style="color: Gray;">.</span><span style="color: Blue;">size</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span><span style="color: Blue;">ii</span><span style="color: Gray;">++</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFCell</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">cell</span><span style="color: Gray;"> = </span><span style="color: Blue;">hr</span><span style="color: Gray;">.</span><span style="color: Blue;">createCell</span><span style="color: Olive;">((</span><span class="hl-types">short</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Blue;">ii</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// セル</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//cell.setEncoding(HSSFCell.ENCODING_UTF_16);// 必要であればコマンドアウト</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">cell</span><span style="color: Gray;">.</span><span style="color: Blue;">setCellValue</span><span style="color: Olive;">((</span><span style="color: Blue;">String</span><span style="color: Olive;">)</span><span style="color: Blue;">valuelist</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Blue;">ii</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// セル文字列型のセット</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">hwb</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: #ffa500;">/**</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; * Excelファイルデータにエクスポートする</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; * </span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; *</span><span style="color: Blue;"> @param </span><span style="color: #ffa500;">lists データ集</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; *</span><span style="color: Blue;"> @param </span><span style="color: #ffa500;">namesエクセルシート名</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; *</span><span style="color: Blue;"> @return</span></li>
<li><span style="color: #ffa500;">&nbsp; &nbsp;&nbsp; */</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">synchronized</span><span style="color: Gray;"> </span><span style="color: Blue;">HSSFWorkbook</span><span style="color: Gray;"> </span><span style="color: Blue;">getWorkbook</span><span style="color: Olive;">(</span><span style="color: Blue;">List</span><span style="color: Olive;">[]</span><span style="color: Gray;"> </span><span style="color: Blue;">lists</span><span style="color: Gray;">, </span><span style="color: Blue;">String</span><span style="color: Olive;">[]</span><span style="color: Gray;"> </span><span style="color: Blue;">names</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFWorkbook</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">hwb</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">HSSFWorkbook</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// 新しいHSSFWorkbookインスタンス作成</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//シートをワークブックに追加する</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">for</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">j</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">j</span><span style="color: Gray;">&lt;</span><span style="color: Blue;">lists</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;">; </span><span style="color: Blue;">j</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFSheet</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">hs1</span><span style="color: Gray;"> = </span><span style="color: Blue;">hwb</span><span style="color: Gray;">.</span><span style="color: Blue;">createSheet</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// 新しいシート対象を作成する</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">hwb</span><span style="color: Gray;">.</span><span style="color: Blue;">setSheetName</span><span style="color: Olive;">(</span><span style="color: Blue;">j</span><span style="color: Gray;">, </span><span style="color: Blue;">names</span><span style="color: Olive;">[</span><span style="color: Blue;">j</span><span style="color: Olive;">])</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: #ffa500;">// 作成したシートの名称 </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">excellist</span><span style="color: Gray;">=</span><span style="color: Blue;">lists</span><span style="color: Olive;">[</span><span style="color: Blue;">j</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFFont</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">font</span><span style="color: Gray;"> = </span><span style="color: Blue;">hwb</span><span style="color: Gray;">.</span><span style="color: Blue;">createFont</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">font</span><span style="color: Gray;">.</span><span style="color: Blue;">setColor</span><span style="color: Olive;">((</span><span class="hl-types">short</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Maroon;">12</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFCellStyle</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">style</span><span style="color: Gray;"> = </span><span style="color: Blue;">hwb</span><span style="color: Gray;">.</span><span style="color: Blue;">createCellStyle</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">style</span><span style="color: Gray;">.</span><span style="color: Blue;">setFont</span><span style="color: Olive;">(</span><span style="color: Blue;">font</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFRow</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">hr</span><span style="color: Gray;"> = </span><span style="color: Blue;">hs1</span><span style="color: Gray;">.</span><span style="color: Blue;">createRow</span><span style="color: Olive;">((</span><span class="hl-types">short</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Maroon;">0</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// ヘッダー</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">headerlist</span><span style="color: Gray;">=</span><span style="color: Olive;">(</span><span style="color: Blue;">List</span><span style="color: Olive;">)</span><span style="color: Blue;">excellist</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Maroon;">0</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">for</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;"> </span><span style="color: Blue;">i</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;"> &lt; </span><span style="color: Blue;">headerlist</span><span style="color: Gray;">.</span><span style="color: Blue;">size</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;">++</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFCell</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">cell</span><span style="color: Gray;"> = </span><span style="color: Blue;">hr</span><span style="color: Gray;">.</span><span style="color: Blue;">createCell</span><span style="color: Olive;">((</span><span class="hl-types">short</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// セル</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//cell.setEncoding(HSSFCell.ENCODING_UTF_16);// 必要であればコマンドアウト</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">cell</span><span style="color: Gray;">.</span><span style="color: Blue;">setCellValue</span><span style="color: Olive;">((</span><span style="color: Blue;">String</span><span style="color: Olive;">)</span><span style="color: Blue;">headerlist</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// セル文字列型のセット</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">cell</span><span style="color: Gray;">.</span><span style="color: Blue;">setCellStyle</span><span style="color: Olive;">(</span><span style="color: Blue;">style</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">for</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">i</span><span style="color: Gray;"> = </span><span style="color: Maroon;">1</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;"> &lt; </span><span style="color: Blue;">excellist</span><span style="color: Gray;">.</span><span style="color: Blue;">size</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">valuelist</span><span style="color: Gray;">=</span><span style="color: Olive;">(</span><span style="color: Blue;">List</span><span style="color: Olive;">)</span><span style="color: Blue;">excellist</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">hr</span><span style="color: Gray;"> = </span><span style="color: Blue;">hs1</span><span style="color: Gray;">.</span><span style="color: Blue;">createRow</span><span style="color: Olive;">((</span><span class="hl-types">short</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// 新しい行</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">for</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;"> </span><span style="color: Blue;">ii</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">ii</span><span style="color: Gray;"> &lt; </span><span style="color: Blue;">valuelist</span><span style="color: Gray;">.</span><span style="color: Blue;">size</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span><span style="color: Blue;">ii</span><span style="color: Gray;">++</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">HSSFCell</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">cell</span><span style="color: Gray;"> = </span><span style="color: Blue;">hr</span><span style="color: Gray;">.</span><span style="color: Blue;">createCell</span><span style="color: Olive;">((</span><span class="hl-types">short</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Blue;">ii</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// セル</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//cell.setEncoding(HSSFCell.ENCODING_UTF_16);// 必要であればコマンドアウト</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">cell</span><span style="color: Gray;">.</span><span style="color: Blue;">setCellValue</span><span style="color: Olive;">((</span><span style="color: Blue;">String</span><span style="color: Olive;">)</span><span style="color: Blue;">valuelist</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Blue;">ii</span><span style="color: Olive;">))</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// セル文字列型のセット</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">hwb</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">public</span><span style="color: Gray;">&nbsp;</span><span class="hl-types">static</span><span style="color: Gray;"> </span><span class="hl-types">void</span><span style="color: Gray;"> </span><span style="color: Blue;">main</span><span style="color: Olive;">(</span><span style="color: Blue;">String</span><span style="color: Olive;">[]</span><span style="color: Gray;"> </span><span style="color: Blue;">args</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">throws</span><span style="color: Gray;"> </span><span style="color: Blue;">Exception</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>以下は該当クラスをサブレート上の使用例です。 </p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">private</span><span style="color: Gray;"> </span><span class="hl-types">void</span><span style="color: Gray;"> </span><span style="color: Blue;">exportList</span><span style="color: Olive;">(</span><span style="color: Blue;">List</span><span style="color: Gray;"> </span><span style="color: Blue;">numberList</span><span style="color: Gray;">,</span><span style="color: Blue;">String</span><span style="color: Gray;"> </span><span style="color: Blue;">numType</span><span style="color: Gray;">, </span><span style="color: Blue;">HttpServletResponse</span><span style="color: Gray;"> </span><span style="color: Blue;">response</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">throws</span><span style="color: Gray;"> </span><span style="color: Blue;">Exception</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">excellist</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ArrayList</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">String</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">docName</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">exp189CDMA.xls</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">String</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">sheetname</span><span style="color: Gray;"> =</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">ExcelUtil</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">excelutil</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ExcelUtil</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Green;">try</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">headerlist</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ArrayList</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">headFont</span><span style="color: Olive;">(</span><span style="color: Blue;">headerlist</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">headerList</span><span style="color: Olive;">(</span><span style="color: Blue;">headerlist</span><span style="color: Gray;">,</span><span style="color: Blue;">numType</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">excellist</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: Blue;">headerlist</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">numberList</span><span style="color: Gray;">.</span><span style="color: Blue;">size</span><span style="color: Olive;">()</span><span style="color: Gray;"> &gt; </span><span style="color: Maroon;">0</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">for</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;"> </span><span style="color: Blue;">i</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;"> &lt; </span><span style="color: Blue;">numberList</span><span style="color: Gray;">.</span><span style="color: Blue;">size</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;">++</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">Map</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">map</span><span style="color: Gray;"> =</span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">HashMap</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">numberList</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">instanceof</span><span style="color: Gray;"> </span><span style="color: Blue;">Map</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">map</span><span style="color: Gray;"> = </span><span style="color: Olive;">(</span><span style="color: Blue;">Map</span><span style="color: Olive;">)</span><span style="color: Blue;">numberList</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">lineDataList</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ArrayList</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">lineDataList</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: Blue;">map</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">province</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">))</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">lineDataList</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: Blue;">map</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">localname</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">))</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">lineDataList</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: Blue;">map</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">telCode</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">))</span><span style="color: Gray;">; </span></li>
<li><span style="color: Green;">for</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">k</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: Blue;">k</span><span style="color: Gray;">&lt;=</span><span style="color: Maroon;">9</span><span style="color: Gray;">;</span><span style="color: Blue;">k</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">lineDataList</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: Blue;">map</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">hcode</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span><span style="color: Blue;">k</span><span style="color: Olive;">))</span><span style="color: Gray;">; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">excellist</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: Blue;">lineDataList</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">catch</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">Exception</span><span style="color: Gray;"> </span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">throw</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">e</span><span style="color: Gray;">; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">response</span><span style="color: Gray;">.</span><span style="color: Blue;">reset</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">response</span><span style="color: Gray;">.</span><span style="color: Blue;">setCharacterEncoding</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">docName</span><span style="color: Gray;"> = </span><span style="color: Blue;">URLEncoder</span><span style="color: Gray;">.</span><span style="color: Blue;">encode</span><span style="color: Olive;">(</span><span style="color: Blue;">docName</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">response</span><span style="color: Gray;">.</span><span style="color: Blue;">setContentType</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">application/x-msdownload;charset=UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">response</span><span style="color: Gray;">.</span><span style="color: Blue;">setHeader</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Content-disposition</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">attachment; filename=</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">+ </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">String</span><span style="color: Olive;">(</span><span style="color: Blue;">docName</span><span style="color: Gray;">.</span><span style="color: Blue;">getBytes</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">))</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">OutputStream</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">outStream</span><span style="color: Gray;"> = </span><span style="color: Blue;">response</span><span style="color: Gray;">.</span><span style="color: Blue;">getOutputStream</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">excelutil</span><span style="color: Gray;">.</span><span style="color: Blue;">getWorkbook</span><span style="color: Olive;">(</span><span style="color: Blue;">excellist</span><span style="color: Gray;">, </span><span style="color: Blue;">sheetname</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">write</span><span style="color: Olive;">(</span><span style="color: Blue;">outStream</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">/** </span></li>
<li><span style="color: #ffa500;">* エクセルにエクスポート</span></li>
<li><span style="color: #ffa500;">* </span></li>
<li><span style="color: #ffa500;">*</span><span style="color: Blue;"> @param </span><span style="color: #ffa500;">mapping </span></li>
<li><span style="color: #ffa500;">*</span><span style="color: Blue;"> @param </span><span style="color: #ffa500;">form </span></li>
<li><span style="color: #ffa500;">*</span><span style="color: Blue;"> @param </span><span style="color: #ffa500;">request </span></li>
<li><span style="color: #ffa500;">*</span><span style="color: Blue;"> @param </span><span style="color: #ffa500;">response </span></li>
<li><span style="color: #ffa500;">*</span><span style="color: Blue;"> @throws </span><span style="color: #ffa500;">Exception </span></li>
<li><span style="color: #ffa500;">*</span><span style="color: Blue;"> @throws </span><span style="color: #ffa500;">Exception </span></li>
<li><span style="color: #ffa500;">*/</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">private</span><span style="color: Gray;">&nbsp;</span><span class="hl-types">void</span><span style="color: Gray;"> </span><span style="color: Blue;">exportList</span><span style="color: Olive;">(</span><span style="color: Blue;">List</span><span style="color: Olive;">[]</span><span style="color: Gray;"> </span><span style="color: Blue;">numberList</span><span style="color: Gray;">,</span><span style="color: Blue;">String</span><span style="color: Olive;">[]</span><span style="color: Gray;"> </span><span style="color: Blue;">reportSel</span><span style="color: Gray;">, </span><span style="color: Blue;">HttpServletResponse</span><span style="color: Gray;"> </span><span style="color: Blue;">response</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Green;">throws</span><span style="color: Gray;"> </span><span style="color: Blue;">Exception</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span class="hl-types">int</span><span style="color: Gray;"> </span><span style="color: Blue;">length</span><span style="color: Gray;"> = </span><span style="color: Blue;">reportSel</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">String</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">docName</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">exp189CDMA.xls</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">List</span><span style="color: Olive;">[]</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">excellist</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ArrayList</span><span style="color: Olive;">[</span><span style="color: Blue;">length</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//データ配列</span></li>
<li><span style="color: Blue;">String</span><span style="color: Olive;">[]</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">sheetnames</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">String</span><span style="color: Olive;">[</span><span style="color: Blue;">length</span><span style="color: Olive;">]</span><span style="color: Gray;">; </span></li>
<li><span style="color: Green;">for</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">i</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: Blue;">i</span><span style="color: Gray;">&lt;</span><span style="color: Blue;">length</span><span style="color: Gray;">;</span><span style="color: Blue;">i</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">sheetnames</span><span style="color: Olive;">[</span><span style="color: Blue;">i</span><span style="color: Olive;">]</span><span style="color: Gray;"> =</span><span style="color: Blue;">reportSel</span><span style="color: Olive;">[</span><span style="color: Blue;">i</span><span style="color: Olive;">]</span><span style="color: Gray;">; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">StringUtils</span><span style="color: Gray;">.</span><span style="color: Blue;">isEmpty</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)){}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">ExcelUtil</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">excelutil</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ExcelUtil</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Green;">for</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">n</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: Blue;">n</span><span style="color: Gray;">&lt;</span><span style="color: Blue;">reportSel</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;">;</span><span style="color: Blue;">n</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">String</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">selValue</span><span style="color: Gray;"> = </span><span style="color: Blue;">reportSel</span><span style="color: Olive;">[</span><span style="color: Blue;">n</span><span style="color: Olive;">]</span><span style="color: Gray;">; </span></li>
<li><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">189H</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: Blue;">equals</span><span style="color: Olive;">(</span><span style="color: Blue;">selValue</span><span style="color: Olive;">)){</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">try</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: #ffa500;">//新規</span></li>
<li><span style="color: Blue;">excellist</span><span style="color: Olive;">[</span><span style="color: Blue;">n</span><span style="color: Olive;">]</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">ArrayList</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">headerlist</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ArrayList</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">headFont</span><span style="color: Olive;">(</span><span style="color: Blue;">headerlist</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: #ffa500;">//ヘッダコード</span></li>
<li><span style="color: Blue;">headerList</span><span style="color: Olive;">(</span><span style="color: Blue;">headerlist</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">189</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">excellist</span><span style="color: Olive;">[</span><span style="color: Blue;">n</span><span style="color: Olive;">]</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: Blue;">headerlist</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">list1</span><span style="color: Gray;"> = </span><span style="color: Blue;">numberList</span><span style="color: Olive;">[</span><span style="color: Blue;">n</span><span style="color: Olive;">]</span><span style="color: Gray;">; </span></li>
<li><span style="color: Green;">if</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">list1</span><span style="color: Gray;">.</span><span style="color: Blue;">size</span><span style="color: Olive;">()</span><span style="color: Gray;"> &gt; </span><span style="color: Maroon;">0</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">for</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span class="hl-types">int</span><span style="color: Gray;"> </span><span style="color: Blue;">i</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;"> &lt; </span><span style="color: Blue;">list1</span><span style="color: Gray;">.</span><span style="color: Blue;">size</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;">++</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">Num189CDMAExpVO</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">vo</span><span style="color: Gray;"> = </span><span style="color: Olive;">(</span><span style="color: Blue;">Num189CDMAExpVO</span><span style="color: Olive;">)</span><span style="color: Blue;">list1</span><span style="color: Gray;">.</span><span style="color: Blue;">get</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">List</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">lineDataList</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ArrayList</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">lineDataList</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: Blue;">vo</span><span style="color: Gray;">.</span><span style="color: Blue;">getProvince</span><span style="color: Olive;">())</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">excellist</span><span style="color: Olive;">[</span><span style="color: Blue;">n</span><span style="color: Olive;">]</span><span style="color: Gray;">.</span><span style="color: Blue;">add</span><span style="color: Olive;">(</span><span style="color: Blue;">lineDataList</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">catch</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">Exception</span><span style="color: Gray;"> </span><span style="color: Blue;">e</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Green;">throw</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">e</span><span style="color: Gray;">; </span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">response</span><span style="color: Gray;">.</span><span style="color: Blue;">reset</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">response</span><span style="color: Gray;">.</span><span style="color: Blue;">setCharacterEncoding</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">docName</span><span style="color: Gray;"> = </span><span style="color: Blue;">URLEncoder</span><span style="color: Gray;">.</span><span style="color: Blue;">encode</span><span style="color: Olive;">(</span><span style="color: Blue;">docName</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">response</span><span style="color: Gray;">.</span><span style="color: Blue;">setContentType</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">application/x-msdownload;charset=UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">response</span><span style="color: Gray;">.</span><span style="color: Blue;">setHeader</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Content-disposition</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">attachment; filename=</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">+ </span><span style="color: Green;">new</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">String</span><span style="color: Olive;">(</span><span style="color: Blue;">docName</span><span style="color: Gray;">.</span><span style="color: Blue;">getBytes</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">))</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">OutputStream</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">outStream</span><span style="color: Gray;"> = </span><span style="color: Blue;">response</span><span style="color: Gray;">.</span><span style="color: Blue;">getOutputStream</span><span style="color: Olive;">()</span><span style="color: Gray;">; </span></li>
<li><span style="color: Blue;">excelutil</span><span style="color: Gray;">.</span><span style="color: Blue;">getWorkbook</span><span style="color: Olive;">(</span><span style="color: Blue;">excellist</span><span style="color: Gray;">, </span><span style="color: Blue;">sheetnames</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">write</span><span style="color: Olive;">(</span><span style="color: Blue;">outStream</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/08/23/granite-data-services-free-lgpl-alternative-to-adobe-livecycle-data-services-for-j2ee-servers.html" title="Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス">Granite Data Services: オープンソースプロジェクトによって開発されたデータサービス</a></li>
<li><a href="http://digitechlog.com/2009/08/16/flosc-flash-opensound-control-java-server-enabling-communication-between-flash-and-osc.html" title="Flosc(Flash OpenSound Control): flashと他のプラットフォーム同士でデータを送受信するJavaサーバー">Flosc(Flash OpenSound Control): flashと他のプラットフォーム同士でデータを送受信するJavaサーバー</a></li>
<li><a href="http://digitechlog.com/2009/08/05/jags-open-source-java-actionscript-game-server.html" title="JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ">JAGS Game Server: JavaとAS3でオープンソースのゲームサーバ</a></li>
<li><a href="http://digitechlog.com/2009/07/10/openamf-free-open-source-alternative-to-adobe-java-flash-remoting.html" title="OpenAMF: オープンソースのJava Flashリモートツール">OpenAMF: オープンソースのJava Flashリモートツール</a></li>
<li><a href="http://digitechlog.com/2009/05/11/how-to-split-csv-file-in-java-with-split-function.html" title="Javaでsplitを使ってＣＳＶファイル読み込み">Javaでsplitを使ってＣＳＶファイル読み込み</a></li>
<li><a href="http://digitechlog.com/2009/03/06/eclipse-an-open-extensible-ide-for-anything-and-nothing-in-particular.html" title="Eclipse: オープンソースの統合開発環境(IDE)である">Eclipse: オープンソースの統合開発環境(IDE)である</a></li>
<li><a href="http://digitechlog.com/2009/02/25/servebox-foundry-an-actionscript-3-java-framework-designed-for-flex-2-3-applications-development.html" title="ServeBox Foundry (sbasfoundry): オープンソースのFlex 2/3アプリケーションを開発するActionScript 3 / Javaフレームワーク">ServeBox Foundry (sbasfoundry): オープンソースのFlex 2/3アプリケーションを開発するActionScript 3 / Javaフレームワーク</a></li>
<li><a href="http://digitechlog.com/2009/02/12/jgenerator-the-web-server-production-application-dynamically-combine-text-graphics-and-sound-to-build-rich-flash-content.html" title="JGenerator: Javaで動的にテキスト、グラフィックおよび音を結合してFlash内容を生成するWebサーバの製品アプリケーション">JGenerator: Javaで動的にテキスト、グラフィックおよび音を結合してFlash内容を生成するWebサーバの製品アプリケーション</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2009/05/15/a-useful-java-class-for-export-data-into-excel-with-jakarta-poi-hssfworkbook.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

