JAVAのアプリケーションを使ってEXCELで作成したデータにアクセスしたいのですがどのような手順でクラスを利用していけば良いのかわかりません。
参考になるようなサンプル例はありませんか?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

まず、どのようにして読むかですが、



1.ExcelのシートのままJavaから読む
2.Excelのシートをテキストのファイルにしておいて、そのファイルをJavaから読む(例えば、CSV形式のファイル)

と言った方法があると思います。
2は、普通のテキストを読む方法ですね。
1は、いわゆるJava-COM Bridgeを使用します。
Java-COM Bridgeはいろいろあると思いますが、JComを紹介しておきます。

参考URL:http://www11.u-page.so-net.ne.jp/ga2/no-ji/jcom/ …
    • good
    • 0
この回答へのお礼

サイトの紹介ありがとうございます。私の意図しているものが作れそうです。

お礼日時:2001/01/12 16:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QEJB(Enterprise Java Beans)のSessionBeanと普通のJavaクラスのアクセス

こんにちは!
問題は山のようにあるんですが、とりあえず、

EJBを作る際にSessionBeanを作ったんですが、そのBean以外に
DBにアクセスするクラスを自分で勝手に作ったら”abstract”だと
怒られるのですが、

・普通のクラスを使用するのは根本的に間違ってるのでしょうか?

また、
・他にEntityなりSessionなり(よく違いを理解していなくてすいません・・・)
でやる場合は、やはり新しくHomeやRemoteが必要なのでしょうか?


以上なんですが、わかる方がいらっしゃたらお願いします。



※番外編なんですが、もしAPWORKS(富士通さんの)お使いの方いらっしゃいま
したら、EJBを作る時の新規DAクラス作成方法を教えてください。

ながながとすんません。。。でした

Aベストアンサー

すいません、コンピュータに接続できなかったものですっかり遅くなってしまいました。質問をよく理解していなかったようですね。ごめんなさい。

一応確認ですが、同じサーバーのVM内で EJB の bean と別のクラスのオブジェクトとがアクセスするという事でいいですよね。

こういうことでしょうか?(以下、MyBean を EJB の bean のクラス、MyDbEngine を普通のクラスとします。)
1. MyBean のメソッドの中で myDbEng = MyDbEngine.getInstance(); とか myDbEng = new MyDbEngine(SomeParameters) のようにやって myDbEng.truncateAllTable(); のようにできるか。

2.MyBean のメソッドの中で MyDbEngine.startEngine(this); のようにするとMyDbEngine のほうで myBean = bean のように MyBean のインスタンスのレファレンスを保持してさらに別のスレッドを起動してその中から MyBean のメソッドにアクセスする。ことはできるか。

3.MyDbEngine のメソッドから myBean = new MyBean(); のようにしてこれを利用する。

という事でいいでしょうか。
1.はもちろんOKです。ただ複数の Bean が同時にアクセスすることもあるでしょうから static なデータを持たせる場合には注意が必要です。

2.3.は問題があると思います。EJB の Bean 自体はコンテナ(APWORKS?)が管理するので他からダイレクトにアクセスするのはまずいでしょう。(3.で stateless sessoin bean なら平気なような気もしますが。)この場クライアント側のコードと同じように(JNDIをlookupして)Home を取得してそこから利用しなければならないと思います。ただし、この場合もアクセスする側(MyDbEngine) は EJB である必要は無く、あくまで普通のクラスでかまいません。JSPからEJBを利用する時と同じようなものです。

あと、abstract のほうはちょっとわかりません。何をしたら(javac/ejbc/runtime) 言われるのでしょうか、また、何が(class/method) というのも分からないでしょうか。

また何か違う事を答えているかもしれませんが、そうしたらまた言ってください。

すいません、コンピュータに接続できなかったものですっかり遅くなってしまいました。質問をよく理解していなかったようですね。ごめんなさい。

一応確認ですが、同じサーバーのVM内で EJB の bean と別のクラスのオブジェクトとがアクセスするという事でいいですよね。

こういうことでしょうか?(以下、MyBean を EJB の bean のクラス、MyDbEngine を普通のクラスとします。)
1. MyBean のメソッドの中で myDbEng = MyDbEngine.getInstance(); とか myDbEng = new MyDbEngine(SomeParameters) のよう...続きを読む

QJavaアプリケーションをフリーソフトのようにするには

Javaでアプリケーションを作成したのですが、アプリケーションを実行するにはコマンドプロンプトから
 javac ***.java
とコンパイルして、( ***.java はファイル名 )
 java ***
としてアプリケーションを実行しますが、ウェブ上に転がっているフリーソフトのようにダウンロードして解凍するとインストーラがあってインストーラを起動することによって既存のプログラムに追加し、コマンドからアプリケーションを起動したり、すべてのプログラムから選択することで起動したりというように作成したJavaアプリケーションにインストーラを付与する方法はあるんでしょうか?
フリーソフトの中にはJavaで作成されたアプリケーションもありそうな気がするので、作成できるのだと思うのですが、ネットで探してもそのような記事は見つからず困っています。フリーソフトとして公開してみたいので...。知っている方教えてください。

Aベストアンサー

 ふむふむ。Macは使った事ないので知らんのだが、UNIXとWindowsで動作させるとすると、#3さんのおっしゃるとおり、Windows バッチとシェルスクリプトを両方書いて置いておくという方法が一般的じゃないのかな。

 たとえば、Jakarta ApacheのTomcatなんかそうだよね。Tomcatを起動、終了するシェルスクリプトとバッチファイルを一緒に入れてtar.gzで固めてある。また、Tomcatはそれとは別にWindows専用にインストーラー付の奴も配布している。

 結局これに習って(最終的な配置は同じとしても)Windows専用の配布物(インストーラー付)、Windows、UNIX共用の配布物(tar.gzやZIP)を両方用意するような形になるのではないでしょーか。

 便利なインストーラーも良いけど、#3さんも「同梱」と表現しているように、やはりUNIX用には、実行できる形のディレクトリ構造そのままtar.gzないしはtar.bz2で固めて、/usr/localで開いてね、ってのが、その~、流儀、というか、一般的じゃないのかな。

 ふむふむ。Macは使った事ないので知らんのだが、UNIXとWindowsで動作させるとすると、#3さんのおっしゃるとおり、Windows バッチとシェルスクリプトを両方書いて置いておくという方法が一般的じゃないのかな。

 たとえば、Jakarta ApacheのTomcatなんかそうだよね。Tomcatを起動、終了するシェルスクリプトとバッチファイルを一緒に入れてtar.gzで固めてある。また、Tomcatはそれとは別にWindows専用にインストーラー付の奴も配布している。

 結局これに習って(最終的な配置は同じとしても)Windows専...続きを読む

QJAVAで別のクラスのprotectedインスタンス変数のアクセス

protectedの場合、自分のクラスか継承されたクラスへのアクセスしかできないと思い、エラーが出るプログラムを書いたつもりでしたが、コンパイルし、実行結果も123が表示されました。

予想では、private, protectedがエラーで、デフォルト、publicだとうまくいくとおもっていましたが、protectedでアクセスできた理由がわかりません。
どなたか、おしえていただけますでしょうか?

なお、JDKは1.8.0_77です。

<実行結果>
E:>javac test.java
E:>java test
123

<プログラム>

class abc{
protected int a = 123;
}

class test{
public static void main(String[] str){
abc o = new abc();
System.out.println(o.a);
}
}

Aベストアンサー

protectedは、クラス内、継承されたクラス内以外にも、同一パッケージ内からのアクセスも可能です。質問文のプログラムでは、abcクラスもtestクラスも同一パッケージ(パッケージ無し)ですので、エラーとなりません。

もし、protectedでクラス外からアクセスしようとしてエラーになることを確認したい場合は以下のようにする必要があります。

<ソースファイル a¥abc.java>
package a;

class abc{
protected int a = 123;
}

<ソースファイル b¥test.java>
package b;

import a.*;

class test{
public static void main(String[] str){
abc o = new abc();
System.out.println(o.a);
}
}

<コンパイル方法>
javac a¥abc.java
javac b¥test.java

上記の2行目のjavacの実行時にprotectedのためにエラーとなります。

QJAVAで作ったプログラムを通常のアプリケーションのように使いたい

 JAVAで作ったプログラム(アプリケーション、アプレット)を通常のアプリケーションのように、ファイルをクリックしてそこから実行をするにはどのようにすればよいのですか。
 今は、イクリップを立ち上げ、そこからプログラムを実行していますが、一般のアプリケーションのような立ち上げ方をしたいのですが。

Aベストアンサー

この種の質問は既に何度か登場していますが・・・。
Java2以降では、Excutable Java Archive(実行可能Javaアーカイブ)という形式でファイルを保存すれば、JREがインストールされている環境ならダブルクリックでプログラムを実行できるようになりますよ。

http://www.h5.dion.ne.jp/~tuyano/JavaTutor/JavaTutorZ3.html

他、JavaプログラムをEXEに変換するツールもありますが、せっかく「OSに関係なく動く」のが利点のJavaプログラムをわざわざWindows以外で動かなくするのはいかがなものか、と思います。JARで十分だと思いますよ。


ちなみに、JavaアプリケーションはこれでOKですが、アプレットは「ダブルクリックで実行」はできません。アプレットはHTMLで表示しますから、普通はHTMLファイルをダブルクリックすればブラウザで実行できますから不要でしょう。

参考URL:http://www.h5.dion.ne.jp/~tuyano/JavaTutor/JavaTutorZ3.html

この種の質問は既に何度か登場していますが・・・。
Java2以降では、Excutable Java Archive(実行可能Javaアーカイブ)という形式でファイルを保存すれば、JREがインストールされている環境ならダブルクリックでプログラムを実行できるようになりますよ。

http://www.h5.dion.ne.jp/~tuyano/JavaTutor/JavaTutorZ3.html

他、JavaプログラムをEXEに変換するツールもありますが、せっかく「OSに関係なく動く」のが利点のJavaプログラムをわざわざWindows以外で動かなくするのはいかがなものか、と思います。...続きを読む

QJAVA:抽象クラスとインタフェースクラスの違い

インタフェースクラスの存在意義がわかりません。

「処理の実体まで実装せず、箱だけ作っておく」という意味では、抽象クラスで良いのでは?と感じます。
(厳密には、インタフェースクラスの方は、継承せずに、複数の実装パターンを分けれるという部分に違いはあると思いますが、ほぼ存在意義がないように感じます。)

Aベストアンサー

クラスだと多重継承(クラスAをクラスBの両方を継承してクラスCを定義する)ができません。
それを解決するために作られたのが、インタフェースです。

Javaがなぜ多重継承という機能を持っていないのかは「多重継承の問題点」あたりでググってください。


人気Q&Aランキング

おすすめ情報