私は現在、フォーマット済みの Excel ファイルを埋める Java アプリを開発しています。このファイルはもともと HTML タグを使用してコーディングされていましたが、実際の XLS ファイルに変換し、その過程で条件付き書式を削除しました ( JXL Yahoo! Groupでクラッシュすることを見たからです)。NullPointerException
次に、最初に持っていた を削除しましたが、今回は別の a を与えましStringIndexOutOfBoundsException
た。
私のコードをお見せする前に説明しなければならないのは、私が埋めるべき Excel ファイルが私のアプリケーションの JAR に含まれているということです。正しく読み取れるように、一時ファイルに抽出します。コードのこの部分は、他のアプリで問題なく使用しているため、完全に機能します。
ここに私のコードがあります: http://pastebin.com/WcL9jZZD そしてここに例外があります:
java.lang.StringIndexOutOfBoundsException: 範囲外の文字列インデックス: jxl.biff.EncodedURLHelper.getFile(EncodedURLHelper.java:60) の java.lang.String.charAt(String.java:686) で jxl.biff.EncodedURLHelper で 1。 getEncodedURL(EncodedURLHelper.java:51) jxl.write.biff.SupbookRecord.initExternal(SupbookRecord.java:203) jxl.write.biff.SupbookRecord.getData(SupbookRecord.java:254) jxl.biff.WritableRecordData.getBytes (WritableRecordData.java:71) jxl.write.biff.File.write(File.java:147) で jxl.write.biff.WritableWorkbookImpl.write(WritableWorkbookImpl.java:913) で qctomantis.tasks.ExcelWriter.doInBackground( org.jdesktop.swingworker.SwingWorker$1 の qctomantis.tasks.ExcelWriter.doInBackground(ExcelWriter.java:46) の ExcelWriter.java:128)。java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) で (不明なソース) を呼び出します。 java.lang.Thread で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) で java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) で (不明なソース) を実行します。実行 (Thread.java:662)java.lang.Thread.run(Thread.java:662) の ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)java.lang.Thread.run(Thread.java:662) の ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
誰もこれを解決する方法を知っていますか? JXL Yahoo! でトピックを見つけました。グループですが、彼らは答えを出していません...ありがとう!