java - 使用 Java 和 JXL API 编辑 Excel 电子表格

标签 java excel jxl

我目前正在开发一个 Java 应用程序,该应用程序应该可以填充预格式化的 Excel 文件。 该文件最初是使用 HTML 标签编码的,但我将其转换为真正的 XLS 文件,并删除了过程中的条件格式(因为我在 JXL Yahoo! Group 中看到这会使事情崩溃)。然后它删除了我首先遇到的 NullPointerException,但这次给了我另一个 StringIndexOutOfBoundsException

在向您展示我的代码之前,我必须解释一下,我应该填写的 Excel 文件包含在我的应用程序的 JAR 中。我将它提取到一个临时文件中以便能够正确读取它。我的这部分代码工作完美,因为我在其他应用程序中使用它没有任何问题。

这是我的代码:http://pastebin.com/WcL9jZZD 这是异常(exception):

java.lang.StringIndexOutOfBoundsException: String index out of range: 1 at java.lang.String.charAt(String.java:686) at jxl.biff.EncodedURLHelper.getFile(EncodedURLHelper.java:60) at jxl.biff.EncodedURLHelper.getEncodedURL(EncodedURLHelper.java:51) at jxl.write.biff.SupbookRecord.initExternal(SupbookRecord.java:203) at jxl.write.biff.SupbookRecord.getData(SupbookRecord.java:254) at jxl.biff.WritableRecordData.getBytes(WritableRecordData.java:71) at jxl.write.biff.File.write(File.java:147) at jxl.write.biff.WritableWorkbookImpl.write(WritableWorkbookImpl.java:913) at qctomantis.tasks.ExcelWriter.doInBackground(ExcelWriter.java:128) at qctomantis.tasks.ExcelWriter.doInBackground(ExcelWriter.java:46) at org.jdesktop.swingworker.SwingWorker$1.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at org.jdesktop.swingworker.SwingWorker.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)

有人知道怎么解决吗?我找到了一个 topic在 JXL 雅虎!组,但他们没有给出答案...... 谢谢!

最佳答案

是的。您可能使用的是 Excel 95 或更早版本。将文件转换为 Excel 97 或等待他们的新版本!

关于java - 使用 Java 和 JXL API 编辑 Excel 电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6263466/

相关文章:

java - Spring 。将字符串值从 View 传递到模型中的 int/Integer 参数

java - 在 Selenium 中使用 Java 从 html 标签接收数据

vba - 在 Excel 中刷新并另存为文本文件

java - JXL 重命名工作表

java - 在 Clojure 中制作缩略图

java - 根据属性值过滤 Jackson 的 JsonNode 元素

vba - 如果在VBA中使用 “if statement”,则不会发生任何错误,请跳过代码

string - 粘贴前检查剪贴板的内容

java - 如何在 Java 中使用 POI 合并单元格

java - 使用 jxl API 将 HashMap 打印到 Excel