• 締切済み

クライアントのEXCELファイルの読み込み

(1)Webページ上の参照ボタンを押すとファイル選択のダイアログが表示 される。 (2)ダイアログでファイルを選択しアップロードボタンを押すと選択されたEXCELファイルを読み込みデータベースに登録。 という流れのプログラムを作成しています。 ECLIPSE(クライアント)で開発していた時は下記のプログラムでクライアントのEXCELシートが読めていたのですが、サーバ側にプログラムを移行しクライアントのファイルを選択してもファイルが見つかりませんとのエラーメッセージが出力されます。(サーバ側を探しにいっているみたいです。) クライアントのEXCELデータを読み込むにはどのようにすればいいのでしょうか?。 アドバイスよろしくお願いします。 (JSP) <head> <%@ include file="html-head.jsp" %> <script type="text/javascript"> function OpenFile() { if (document.forms(0).fopen.value == ", "){ alert("ファイルが選択されていません。"); }else{ document.forms(0).action = "TEST!read.action"; document.forms(0).submit(); } } </script> </head> <body onload> <%@ include file="HeaderTitle.jsp" %> <div class="navigation" align="right"> <originalJK:CommonLinkTag mode="2" /><br> </div> <br> <s:form> <table width="100%"> <tr> <td> <INPUT type=file name="fopen"> </td> </tr> </table> <table width="100%"> <tr> <td> <INPUT type=button value="EXCELアップロード" onclick= OpenFile() > </td> </tr> </table> (JAVA) int count = 1; String ayyyy = DateUtils.format(DateUtils.now()); String[] strYyyy = ayyyy.split("/"); String aYy = strYyyy[0]; String aMm = strYyyy[1]; String Fname = aFopen; DbUtils vDb = new DbUtils(); //ファイル名チェック if ((aFopen.equals(", ")) || (aFopen.equals(""))){ } } try { // DBコネクションオープン vDb.open(); ABCADao vDao = new ABCDao(vDb); int vCount = 0; //データ存在チェック vCount = vDao.dbCntLine(); // (8)PATH名を除くファイル名のみを取得 String Fname1=(new File(Fname)).getName(); String[] strFname = Fname.split(","); String Fname2 = strFname[0]; // Excelファイルの読み込み FileInputStream fis = new FileInputStream(Fname2); POIFSFileSystem fs = new POIFSFileSystem(fis); // ワークブック・オブジェクトの取得 HSSFWorkbook wb = new HSSFWorkbook(fs); // 総ワークシート数の取得 int sheets = wb.getNumberOfSheets(); // ワークシートごとに、データを取得 int idx = 0; for (int sheetIdx = 0; sheetIdx < sheets; sheetIdx++ ) { // ワークシートを表すオブジェクトの取得 (1) HSSFSheet sheet = wb.getSheetAt(sheetIdx);

みんなの回答

回答No.1

提示されたコードが断片過ぎだけど、 とりあえずファイルをアップロードしたいなら普通のformではできません。 formの属性「enctype」に「multipart/form-data」を指定します。 またサーバ側のJavaでも普通のURL引数として値を取得できません。 「java ファイルアップロード」 で検索すればわかると思います。 ファイルアップロードの処理を簡単にするライブラリがあり、 そのライブラリの説明が http://www.javaroad.jp/servletjsp/sj_servlet12.htmhttp://www.atmarkit.co.jp/fjava/javatips/106jakarta018.html にありますので見てみてはいかかでしょうか。

kouchan_s
質問者

お礼

ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A