• 締切済み

linux上で「java + poi」の変わりになるもの

linux上で、「java + poi」で作ったプログラムを毎日自動的に実行して結果をexcelファイルに出力する、ということをしています。 同じことを、java以外の言語を使って実現することは可能でしょうか? linuxではなくwindows上で行うとすれば、「様々な言語 + Win32OLE」で実現可能かと思いますが、あくまでも"linux上で"できないか?という質問です。 何かご存知の方がいらっしゃったら、ご回答よろしくお願いいたします。

みんなの回答

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.1

私ならLinuxでJava以外の言語で上記要件を実装するなら まずは、C/C++です。(OS付属でコンパイラーがあるから) 次はkylixかな。(WindowsではDelphi)Pascal系の言語 Execファイルの出力は、標準出力で作成します。 ファイル拡張子は???.xls 項目はTab文字(\t)で区切り、行は改行文字(\n)で設定します。

sn10016
質問者

お礼

回答ありがとうございました。 kylixというものを初めて知りました。 ちょっと調べてみます。 私の書き方が悪かったですね。 数式やグラフなどが書かれたexcelファイルにpoiを使って値を設定する、という処理をしています。 単にテキスト形式で出力しているわけではないのです。 なにはともあれ、ありがとうございました。

関連するQ&A

  • LinuxでJava環境

    LinuxでJavaを使った開発をしたいのですが、環境設定でつまずいてしまい 、困っております。 環境 OS:windowsとUbuntuのデュアルブートです。 状況 javaを、 sudo update-alternatives --config java でインストールしましたが、コンパイルができません。 ファイルはデスクトップに置き、java ****.javaで実行しましたが、 Exception in thread "main" java.lang.NoClassDefFoundError: test/java/java Caused by: java.lang.ClassNotFoundException: test.java.java at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) のエラーが出てしまいます. また、eclipseをインストールして、画面を開こうとしても、すぐに消えてしまいます. Linuxの挙動がまったくわかりません。 もしかすると、rootでアレコレコマンドを試したから,再起不能の状態になっているのではないかと危惧しております。 Linuxの知識はゼロの初心者です。 そうかお助けをお願い致します。

  • PHPのsystem()でjava

    いつも皆様、回答をありがとうございます。 PHPからsystem()でjavaを呼び出した時の動作について質問があります。 [現状] phpファイルで $system = "java TestHello"; system($system); とすると、結果のメッセージが出力されません。 TestHello.javaは public class TestHello { public static void main(String[] args) { System.out.println("Hello."); } } です。コマンドプロンプトからjava TestHelloとするとHello.と出力されます。 [質問] メッセージを出力させるためには何か設定が必要なのでしょうか? それともphpからjavaを呼び出すことはできないのでしょうか? [環境] windows XP home java 1.5.0_11 php 5.2.2 [その他 試したこと] ・linuxで試しましたが同じ結果でした。 ・system("java -verbose TestHello"); とするとクラス名などのデバッグ情報は出力されましたが、"Hello."は出力されませんでした。 ・ファイル生成をするjavaのコードをsystem()から実行しましたが、ファイルは生成されていませんでした。コマンドプロンプトから実行したところ、生成されていました。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • Linux上で動くシステムとしてC系とJavaは

    C系を学習しようかJavaを学習しようか迷っております。 用途としては、自社の全支店、他企業(承諾済みとします)のWebコンテンツ、サーバ上のデータ他、いわゆるデータを自動で吸収(読み取り、保存)し、それを専用のLinux機器にてデータの加工、再処理などを数学なども利用して実行したいと考えております。 似たようなものとして(?)良く分かりませんがGoogleの検索ロボットのようなものだと思います。 自分はPHP、JavaScript等のWeb言語などは習得しているのですが、C系やJavaは学習しておりません。 ただ、オブジェクト指向という点は少々慣れていると思います。 具体例がかなり説明不足だと思いますが、このようにパソコン内部でシステムを動かす際にはどちらの言語がいいのでしょうか? 色々とWebで調べてみたのですが難しくて分かりませんでした。 各言語で出来ているソフトウェアを考えても、Apache、Linux、Eclipseとかしか分からずシステムとしてはC系の方がいいのかなと単純に思っております。 C系とJavaの違いとして、ライブラリ、フレームワークがあると思うのですが、C系は基本的に殆ど自分でプログラミングを作成する、JavaはJSPとかライブラリ、フレームワークが多いようなので開発は楽そうな感じはするのですが。 それ以外のお互いの利点が良く分かりません。 Javaに関しては、PHP等よりも型指定などにより複雑だけどセキュアな銀行などで使われるWebアプリ、携帯アプリとかぐらいしか思いつかないレベルです。 すみませんが以上の点でよろしくお願いします。

  • linuxでapache poiが動かない。

    linux(ubuntu12.04)でeclipseでプログラミングをしているのですが、以下のapache poiのサンプルが正常に動作しません。 import java.io.*; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class sample{ public static void main(String[] args){ HSSFWorkbook workbook = new HSSFWorkbook(); workbook.createSheet("test"); FileOutputStream out = null; try{ out = new FileOutputStream("sample1.xls"); workbook.write(out); }catch(IOException e){ System.out.println(e.toString()); }finally{ try { out.close(); }catch(IOException e){ System.out.println(e.toString()); } } } コンソールには、 Usage: BiffDrawingToXml [options] inputWorkbook Options: -exclude-workbook exclude workbook-level records -sheet-indexes <indexes> output sheets with specified indexes -sheet-namek <names> output sheets with specified name と表示されます。windowsで正常に動作した時には表示されません。 参照ライブラリーにjarファイルは登録してありますし、windows7では同じeclipseとapache poiの環境で正常に動き、xlsファイルができました。 権限の問題を疑い、プログラムのフォルダごと chmod -R 777 としてみたのですが改善されません。 ネットでの情報も少なく、何が悪いのかわかりません。windowsで動いてなぜlinuxで動かないのでしょうか?

    • ベストアンサー
    • Java
  • Linux上でjavaアプレットがブラウザ表示できません

    すごく初歩的なことかもしれないのですが、Linux上でjavaアプレットがを実行しようとすると下記のような予期しないエラーが表示されました。Linux上ではjavaアプレットはブラウザ(IE)に表示できないのでしょうか? もし、何か分かることがありましたら、ご教授御願いします。 ちなみにjavaアプリケーションは正常に実行できる環境です。 エラー内容: Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:1 26) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:130) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvi ronment.java:62) at java.awt.Window.init(Window.java:208) at java.awt.Window.<init>(Window.java:252) at java.awt.Frame.<init>(Frame.java:398) at java.awt.Frame.<init>(Frame.java:363) at sun.applet.AppletViewer.<init>(AppletViewer.java:139) at sun.applet.StdAppletViewerFactory.createAppletViewer(AppletViewer.jav a:80) at sun.applet.AppletViewer.parse(AppletViewer.java:1062) at sun.applet.AppletViewer.parse(AppletViewer.java:996) at sun.applet.Main.run(Main.java:138) at sun.applet.Main.main(Main.java:80)

    • ベストアンサー
    • Java
  • Apache POI のログについて

    現在携わっているシステムでPOIのHSSFを使用し、Excel操作を行なっています。 POIのログをOFFにしたくて色々探していたら以下のサイトにたどり着きました。 概要を見ると簡単にログをOFFにできるようですが、設定方法がわかりません。 設定ファイルでもプログラムでも問題ないので、変更方法を ご存知の方がいらっしゃいましたらご教示頂けませんでしょうか? http://poi.terra-intl.com/utils/logging.html 試しにVM引数で -Dorg.apache.poi.util.POILogger=org.apache.poi.util.NullLogger としてみましたが、出力内容は変わりませんでした。 ちなみに使用しているバージョンは1.10です。 新しくしたいのはヤマヤマなのですが、そこは触らないでと 言われてしまいました。。。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • "java" が実行できません("java.exe" は実行できる)

    先日 J2SDK 5.0 Update 6 をインストールした際、 この問題に遭遇しました。 PATH も CLASSPATH も正常に設定されています。 しかし、"java" が実行できません。 ところが、"java.exe" とすると実行できます。 これはいったいどういうことなのでしょうか? 以下にいくつかの実行例を載せます。 OS は Windows XP SP1 です。 [実行例] C:\>java [結果] 'java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 となるのですが、.exe をつけると以下のように Usage が表示されます。 [実行例] C:\>java.exe [結果] Usage: java [-options] class [args...] (to execute a class) 以下、絶対パス指定した場合も同じ結果です。 [実行例] C:\java\jdk1.5.0_06\bin\java [結果] 'C:\java\jdk1.5.0_06\bin\java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 [実行例] C:\java\jdk1.5.0_06\bin\java.exe [結果] Usage: java [-options] class [args...] (to execute a class)

  • crontabでjavaだけが上手く動いていない

    こんにちは、質問をさせていただきます。 Linux(FC5)でCrontabコマンドとplファイルを利用して、JAVAを定期的に起動させようとしています。 plファイルのログでは処理が実行されたようになっているのですが、何故かJAVAが起動していません。(結果からJAVAが実行されていません) Crontabでなく、手動でplファイルを実行すると問題なくJAVAは起動されます。 plファイルの詳細とcrontabの詳細およびファイルのモードは下記のとおりです。 よろしくお願いします。 ・plファイル  cd /javaのディレクトリ  /usr/java/jdk1.5.0_08/bin/java javaファイル  echo "実行" >> date.log  date >> date.log ・Crontab  00 17 * * * /plファイル ・crontabのファイルモード  -rw------- 1 root root 42 12月 21 16:58 root 以上

  • Java言語の実行について平易におしえてください。

    IT勉強超初心者です。教科書に 「java言語の実行はソースプログラムをコンパイラによって生成された中間言語を 仮想マシン上でインタプリタにより実行する」と書いてあるのですが まったくイメージがわきません。JAVAを使ってシステム開発をしている人は どのように上記のことを具体的に行っているのでしょうか。簡単な具体例で おしえていただけますと幸いです。

    • ベストアンサー
    • Java
  • Java2とは何ですか?

    Java2とは何ですか? 下記HPによると http://e-words.jp/a/Java2.html 『Sun Microsystems社のプログラミング言語「Java」の第2版。Java 2はJDK 1.2と呼ばれていたものの正式名称で、SunによるJava 2プラットフォーム対応のプログラミング環境や実行環境も含む。』 とあります。1.2以前が第1版ということなんでしょうか? なんか2の意味がよくわからんなーと思っています。 1.2の2の部分の2ではなくそれ以外にバージョンがあって2ということなんですよね?タブン。 Sunの資料を見たところ、1.5系ではまだ、J2SE 5.0と表記されたりしているようですが、1.6と1.7に関する記述では、Java SE6、Java SE7と「2」が完全に消えていました。 今後は「2」はきえるのかなーなどと思っています。 この辺のことについてお詳しい方よろしくお願いします。 質問 (1)Java2の2はどこから来ているのか。どういう意味合いでつけたのか。 (2)いつまでが1だったのか。(時期やバージョンなど) (3)1.6以降は2は使われなくなるのか

    • ベストアンサー
    • Java

専門家に質問してみよう