- - PR -
Javaでのエラー
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-10-31 15:10
初心者の者です。
Javaをしていたらコンパイル時にエラーになってしまいました。 本を参考にしていたのですがどうしてもわからないので ご教授お願いします。 《バージョン》 jdk1.5.0_04、Tomcat5.1 《エラー内容》 パッケージ org.apache.poi.hssf.usermodelは存在しません import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFCell; package to.msn.wings; import java.io.FileOutputStream; 《ソース》-PoiSample.java- import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFCell; public class PoiSample { public static void main(String[] args) { try{ //新規ワークブックを作成する HSSFWorkbook wb = new HSSFWorkbook(); FileOutputStream fileOut = new FileOutputStream("C:\\PoiSampleBook.xls"); //新規ワークシートを作成する HSSFSheet sheet1 = wb.createSheet(); HSSFSheet sheet2 = wb.createSheet(); //作成したシート名を変更 //日本語シート名を指定する場合には //エンコーディング設定は必須 wb.setSheetName(0,"sheet1"); wb.setSheetName(1 ,"シート2",HSSFWorkbook.ENCODING_UTF_16); //行オブジェクトの作成(行番号は0スタート) HSSFRow row2 = sheet1.createRow(1); //セルオブジェクトの作成(セル番号は0スタート) //引数はshort型でキャストしなければならない点に注意 HSSFCell cellB2 = row2.createCell((short)1); HSSFCell cellC2 = row2.createCell((short)2); //セルに値を設定する cellB2.setCellValue("B2"); //セルに日本語の値を設定する //日本語の値を指定する場合には //エンコーディング設定は必須 cellC2.setEncoding(HSSFCell.ENCODING_UTF_16); cellC2.setCellValue("C2日本語"); //作成したワークブックを保存する wb.write(fileOut); fileOut.close(); }catch(Exception e){ e.printStackTrace(); } } } クラスパスは":\Program Files\poi-bin-3.0.1-FINAL-20070705\poi-3.0.1-FINAL"と入力しました。 | ||||
|
投稿日時: 2007-10-31 15:49
POIのライブラリーってJARファイルだと思うんですが・・・。 | ||||
|
投稿日時: 2007-10-31 19:43
参考にされている本は、POI2.5で書かれていると思います。
最初のうちは、POI2.5を使用してはどうですか? | ||||
|
投稿日時: 2007-11-01 14:07
・jarの指定を正しくする。
・最初の投稿以外にもエラーがあるので修正 すれば、3.0.1でもコンパイルはとおりましたよ。 C:\java\poi3.0.1>dir ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 18AD-02BD です C:\java\poi3.0.1 のディレクトリ 2007/11/01 14:02 <DIR> . 2007/11/01 14:02 <DIR> .. 2007/06/28 05:41 909,270 poi-3.0.1-FINAL-20070705.jar 2007/06/28 05:41 59,349 poi-contrib-3.0.1-FINAL-20070705.jar 2007/06/28 05:41 859,615 poi-scratchpad-3.0.1-FINAL-20070705.jar 2007/11/01 14:02 1,438 PoiSample.java 4 個のファイル 1,829,672 バイト 2 個のディレクトリ 90,838,315,008 バイトの空き領域 C:\java\poi3.0.1>set CLASSPATH CLASSPATH=.;.\poi-scratchpad-3.0.1-FINAL-20070705.jar;.\poi-3.0.1-FINAL-20070705 .jar;.\poi-contrib-3.0.1-FINAL-20070705.jar C:\java\poi3.0.1>type PoiSample.java // 《ソース》-PoiSample.java- import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFCell; import java.io.*; // 追加 public class PoiSample { public static void main(String[] args) { try{ //新規ワークブックを作成する HSSFWorkbook wb = new HSSFWorkbook(); FileOutputStream fileOut = new FileOutputStream("C:\\PoiSampleBook.xls"); //新規ワークシートを作成する HSSFSheet sheet1 = wb.createSheet(); HSSFSheet sheet2 = wb.createSheet(); //作成したシート名を変更 //日本語シート名を指定する場合には //エンコーディング設定は必須 wb.setSheetName(0,"sheet1"); wb.setSheetName(1 ,"シート2",HSSFWorkbook.ENCODING_UTF_16); //行オブジェクトの作成(行番号は0スタート) HSSFRow row2 = sheet1.createRow(1); //セルオブジェクトの作成(セル番号は0スタート) //引数はshort型でキャストしなければならない点に注意 HSSFCell cellB2 = row2.createCell((short)1); HSSFCell cellC2 = row2.createCell((short)2); //セルに値を設定する cellB2.setCellValue("B2"); //セルに日本語の値を設定する //日本語の値を指定する場合には //エンコーディング設定は必須 cellC2.setEncoding(HSSFCell.ENCODING_UTF_16); cellC2.setCellValue("C2日本語"); //作成したワークブックを保存する wb.write(fileOut); fileOut.close(); }catch(Exception e){ e.printStackTrace(); } } } C:\java\poi3.0.1>javac PoiSample.java 注: PoiSample.java は推奨されない API を使用またはオーバーライドしています。 注: 詳細については、-Xlint:deprecation オプションを指定して再コンパイルしてくだ さい。 C:\java\poi3.0.1>dir *.class ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 18AD-02BD です C:\java\poi3.0.1 のディレクトリ 2007/11/01 14:03 1,238 PoiSample.class 1 個のファイル 1,238 バイト 0 個のディレクトリ 90,838,335,488 バイトの空き領域 |
1