• 締切済み

eclipseでexcelデータを扱うプログラムを作成する方法

excelデータを読み込んでブラウザで表示するJavaによるWebアプリケーションを eclipseを使って作ろうとしています。 ところが、本やインターネットで探しても eclipseを使用してexcelデータを扱うプログラムを作る例が見当たりません。 POIを使ってexcelデータを読み込む方法は見つかり、 それを参考にしたプログラム(JSP)は成功しました。 そしてそれをeclipseで再現しようとしたところ、うまくいきません。 そこで「もしかするとeclipseを使ってexcelデータを扱うプログラム(Java Servlet/JSP)を 作るのは一般的ではないのだろうか?」という疑問がわいてきました。 excelデータの処理以外にも、いろいろプログラムを作ってみたいので これからもeclipseを使いたいのですが、excelデータを使ったプログラムだけは eclipse以外で作ることになるのでしょうか? eclipseでexcelデータを扱うプログラムを作ることが 一般的ではないのかどうか、だけでも構いませんので どうぞよろしくお願いいたします。

  • Java
  • 回答数1
  • ありがとう数2

みんなの回答

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

何か勘違いしているようですが、eclipseはただの開発環境であってプログラムに何らかの影響を与えるものではありません。 eclipseを使おうが使わまいが同じものは作れます。 >そしてそれをeclipseで再現しようとしたところ、うまくいきません。 何がうまくいかないのか具体的に書かないと(エラーが出るならそのメッセージも)誰も対処方法を示すことはできません。

sasmmf
質問者

お礼

ご回答いただきありがとうございます! > eclipseを使おうが使わまいが同じものは作れます。 ありがとうございます。 それが確認できただけでも安心しました。 > 何がうまくいかないのか具体的に書かないと(エラーが出るならそのメッセージも)誰も対処方法を示すことはできません。 恐縮ながら、実は10日前にも質問させていただいておりました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1703072 おかしな部分がありましたらどうぞご教授下さい。

sasmmf
質問者

補足

どうも作成中のプログラムやエラー表示のページにリンクすると gooの運営側に削除されてしまうようなので、 長くなってすみませんが、ここに紹介させていただきます。 *エラー表示* [type]例外レポート [説明] The server encountered an internal error () that prevented it from fulfilling this request. [例外]org.apache.jasper.JasperException org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) [原因]java.lang.NullPointerException org.apache.jsp.output_jsp._jspService(org.apache.jsp.output_jsp:52) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) *javaプログラム* package packs; import java.io.IOException; import java.io.FileInputStream; import java.io.PrintWriter; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; public class EXDATA extends HttpServlet { public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { //TODO Method stub generated by Lomboz PrintWriter out = response.getWriter(); FileInputStream in = new FileInputStream("/simple.xls"); String path = getServletContext().getRealPath("/simple.xls"); java.io.InputStream is = new java.io.FileInputStream(path); POIFSFileSystem fs = new POIFSFileSystem(is); is.close(); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); HSSFRow row = sheet.getRow((short)0); HSSFCell cell = row.getCell((short)0); out.println(cell.getStringCellValue()); /* JSPへ */ request.setAttribute("cell", cell); getServletConfig() .getServletContext() .getRequestDispatcher("/output.jsp") .forward(request, response); } } *JSPプログラム* <%@ page language="java" pageEncoding="Windows-31J" %> <!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <title>Lomboz JSP</title> </head> <body bgcolor="#FFFFFF"> <% /* サーブレットからの値を取得 */ String cell = request.getAttribute("cell").toString(); %> <% out.println (cell); %> </body> </html> 以上です。 長くて恐縮ですが、もしよろしければアドバイスをよろしくお願いいたします。

関連するQ&A

  • MySQLとEclipseの接続方法について

    みなさん初めまして。 SQLについて只今勉強中の者です。 EclipseとMySQLを接続したいのですが、どうしても接続できません。 利用環境 apache-tomcat-6.0.36 MySQL5.5 Windowsはxpです。 apache-tomcat-6.0.36を利用しており、JDBCドライバをダウンロード後、Tomcat内のcommon\lib内にmysql-connector-java-5.1.22-binを導入し、環境変数でパスを通しています。 TomcatとEclipseの接続は確認しています。 また、MySQLについては起動確認や、データベース作成は行えました。 原因のjava.lang.ClassNotFoundException: com.mysql.jdbc.Driverから、JDBCドライバにパスが通っていないため接続が出来ていないと考えております。 初歩的な質問かもしれませんが宜しくお願い致します。 以下は実行した際に表示された内容です。 HTTPステータス 500 - -------------------------------------------------------------------------------- type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:500) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 原因 javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794) org.apache.jsp.admin_jsp._jspService(admin_jsp.java:108) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 原因 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:128) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66) java.lang.Class.forName0(Native Method) java.lang.Class.forName(Class.java:186) org.apache.jsp.admin_jsp._jspService(admin_jsp.java:66) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 注意 原因のすべてのスタックトレースは、Apache Tomcat/6.0.32のログに記録されています -------------------------------------------------------------------------------- Apache Tomcat/6.0.32 以上です、宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • Eclipse jspにて スタックトレースの変換後ファイル(foo_jsp.java)へのリンクの設定方法

    Servlet変換後のJSPの場所をEclipseに設定する方法を探しています。 pleiades-all-in-one-java-jre_20090426 を使用して JSP を作っています。JSP実行時にエラーが発生すると、コンソールにスタックトレースが表示(※1)され、その中にServlet変換後のJSPへのリンクが表示されます。そのリンクをクリックすると、「org.apache.jsp.Foo_jspのソースが見つかりませんでした」というダイアログメッセージがでます。ソースの場所(※2)はわかっています。スタックトレース中のクリックでソースを開ける方法を教えてください。 ※1  java.lang.ClassCastException: java.util.Arrays$ArrayList cannot be cast to java.util.ArrayList at org.apache.jsp.Foo_jsp._jspService(Foo_jsp.java:106) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) <省略> ※2 <ワークスペース>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\<WEBアプリケーション>\org\apache\jsp\Foo_jsp.java

  • eclipseでのJSPのデバッグ方法について。

    eclipseでのJSPのデバッグ方法について。 eclipse3.5を利用しています。 こういうことはできますでしょうか? 1.JSPからサーブレットに作成されたjavaファイルをeclipse上で参照。 2.1のjavaファイルにブレークポイントを設定してデバッグ。 eclipseのサーバビューでTOMCAT5.5を新規作成して動かしています。

    • ベストアンサー
    • Java
  • Eclipseでプログラム実行時に引数を渡す方法を知りたい!

    EclipseでJavaのプログラミングをしているのですが、実行時に引数を渡す方法が分かりません。 プログラムの内容としては、テキストファイルの中身を表示するプログラムなんですが、コマンドプロンプト上で実行する場合には、 C:\Java> java Test < Test.txt という風に実行すればよいのですが、Eclipseではどのように引数を渡して実行すればよいのか分かりません。 誰か助けてください!

    • ベストアンサー
    • Java
  • Eclipse + jsp +tomcatのエラー

    jspのプログラミングをしていて、以下のようなエラーがでて困っています。 以前に作った他のプログラムは特に問題ないのですが、今テストしてるものだけエラーがでます。 ソースは書籍のメディアからコピーしてきたのでコーディングミスはないと思います。 書籍のサイトをみても正誤情報はありませんでした。 私自身、あまりJavaに詳しくないのでどなたかアドバイスをいただけると助かります。 よろしくお願いします。 環境  Eclipse Version: Indigo Service Release 2 (pleiades-e3.7) tomcat 7.0.27 java jdk1.6.0_25 ------------------------------------------------------------------------- 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: An error occurred at line: 211 in the generated java file Syntax error, insert "}" to complete Block An error occurred at line: 221 in the generated java file Syntax error on token "}", delete this token An error occurred at line: 222 in the generated java file Syntax error, insert "}" to complete ClassBody Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:469) org.apache.jasper.compiler.Compiler.compile(Compiler.java:378) org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) ブラウザの更新ボタンを押したりすると以下のようなメッセージに変わったりします。 ---------------------------------------------------------------------------------- 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.expense.list_jsp org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:177) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 原因 java.lang.ClassNotFoundException: org.apache.jsp.expense.list_jsp java.net.URLClassLoader$1.run(URLClassLoader.java:202) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:190) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:132) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:172) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

  • jsp,servlet,beanの流れについて

    初歩の初歩の質問ですが、参考書等読んでいて混乱してしまっています。宜しくお願いします。 a.jsp(入力画面) a_servlet.java a_bean.java(setのみ) b.jsp(表示画面) b_servlet.java b_bean.java(get,setのみ) というファイルがある時のプログラムの流れは、 (1)a.jsp・・・画面を表示する。データを入力する。登録ボタンを押下する。 (2)a_servlet.java・・・(1)で登録ボタンを押下されたら、a.jspのデータを取得。a_bean.javaへ設定する。b.jspへ飛ぶ。 (3)a_bean.java・・・(2)によりデータが設定されている。 (4)b_servlet.java・・・a_bean.javaのデータを取得し、b_bean.javaに設定する。 (5)b_bean.java・・・(4)によりデータが設定されている。 (6)b.jsp・・・表示データをb_bean.javaより取得後、画面を表示する。削除ボタンを押下する。 (7)b_servlet.java・・・(6)で削除ボタンが押下されたらb.jspのデータを取得し、b_bean.javaへ設定する。 特にbファイルの処理順序で混乱しています。 上記のような流れで考え方は合っているでしょうか。 少々分かりずらいかもしれませんが、間違っていたら小学生でも分かるように教えてください。

    • ベストアンサー
    • Java
  • eclipse でjspからJavaを実行するには

    eclipse 3.4 tomcat 4.1 j2sdk1.4.2 sysdeo 3.2.1 を使用し開発を行おうとしています。 なんとかeclipse上からtomcatを起動し、localhost:8080 を指定してjspの画面は出るようになったのですが、jspからJAVAを呼ぼうとすると エラーになってしまいます。 呼び出し部分は <form action="servlet/javahello.FileUploadServlet" method="post" enctype="multipart/form-data" name="form1"> 名前: <input type="text" name="name"> <br> ファイル: <input type="file" name="file1"> <br> <br> <input type="submit" name="Submit" value="送信"> <input type="reset" name="submit" value="リセット"> </form> とし、javaファイルは eclipse上のプロジェクト(tomcat_test)のWEB-INF/src/配下に servlet/javahelloを作ってFileUploadServlet.javaを入れています。 http://localhost:8080/tomcat_test/servlet/javahello.FileUploadServletを実行すると エラーは以下のようなエラーで HTTP Status 404 - /tomcat_test/servlet/javahello.FileUploadServlet javaファイルが見つけられていないと思うのですが、 jspからjavaを見に行く時はどのように参照しにいくのでしょうか。 宜しくお願いします。

    • ベストアンサー
    • Java
  • EclipseでのJSP・Servlet開発について(文字化け)

    EclipseでJSP、Servletの開発をしております。 文字化けについての質問なのですが、ブラウザ上で表示される文字が 文字化けしてしまいます。JSPの頭に <%@page contentType="text/html; charset=SHIFT_JIS"%> と入れており、ブラウザでもエンコードはShift_JISとなっています。 自分なりに原因を調べたのですが、○○.jsp→○○_jsp.javaに変換?する際に 文字化けしているようで、Eclipse上でJSP、Servletを見ると普通なのですが、 ○○_jsp.javaは見事に文字化けしていました。 文字化けした○○_jsp.javaを削除して再度表示(_jsp.javaの再作成)も試みた のですが、同じ結果でした。 1ヶ月以上触っていないパッケージのソースも突然文字化けを起こしたので 原因も分からない状態です。 原因・直し方がお分かりの方、是非ともご指南下さい。 情報不足でしたら追記させて頂きますので、どうぞ宜しくお願い致します。

    • ベストアンサー
    • Java
  • プロジェクトの設置方法

     仕事でJavaのアプリケーションを設置して動かすことに非常に苦労しております。学校でJava入れてEclipse入れてTomcat入れてPostgreSQL入れて Jdbc入れて動かすというやりかたはやったんですけど、それよりずっと複雑だしlog4j.xmlなんてなんなのって思います。一個一個設定ガイドがあって それにそってやればできるのでしょうが、それを見てもよくわかりません。 今のところは入れてもらってますが、なんとかしなくてはいけないと思っています。  何を勉強すればいいのかぜひ教えてください。 補足) ★一つはJspとJavaそのものとPostgreSQLのアプリケーションです。 ★一つはJSPとStrutsのオラクルのアプリケーションです。 ★会社のある人からはオープンソース徹底活用 EclipseによるJavaアプリケーション開発 オープンソース徹底活用 水島 和憲 (著)Java/Eclipseソフトウェアテスト・チュートリアルブック Front Programmer Seriesを推薦してもらいました。 ★今会社で入れてるのはEclipseの2です。

  • jspのプログラムについて

    jspファイルで データベースの中のテーブルの中身をCSVファイルに出力するプログラムを教えてください。 delete文で中身を消すプログラムは書けたのですが、これはできません。 conn = null; st=null; conn=DriverManager.getConnection("jdbc:mysql://localhost/データベース名?" + "user=ユーザー名&password=パスワード&useUnicode=true&characterEncoding=utf8"); st=conn.createStatement(); StringBuffer buf = new StringBuffer(); buf.append("delete from where id="+id); st.executeUpdate(buf.toString()); これで削除はできました。 なのでbuf.appendの中身を buf.appendbuf.append("select * from テーブル名 INTO OUTFILE \"data.csv\" fields terminated by ',' "); これに書き換えればできると思ったのですができません。 よろしくお願いします。 エラー内容は org.apache.jasper.JasperException: An exception occurred processing JSP page /CSV.jsp at line 24 21: 22: StringBuffer buf = new StringBuffer(); 23: buf.append("select * from anpisystem INTO OUTFILE \"data.csv\" fields terminated by ',' "); 24: st.executeUpdate(buf.toString()); 25: 26: } 27: Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 原因 javax.servlet.ServletException: java.sql.SQLException: Can not issue SELECT via executeUpdate(). org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791) org.apache.jsp.CSV_jsp._jspService(CSV_jsp.java:94) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 原因 java.sql.SQLException: Can not issue SELECT via executeUpdate(). com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086) com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989) com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975) com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920) com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1803) com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1764) org.apache.jsp.CSV_jsp._jspService(CSV_jsp.java:76) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    • ベストアンサー
    • Java

専門家に質問してみよう