首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Workbook.createWorkbook方法在JexcelAPI抛出索引界异常中的应用

Workbook.createWorkbook方法在JexcelAPI抛出索引界异常中的应用
EN

Stack Overflow用户
提问于 2013-07-31 19:33:20
回答 2查看 5.3K关注 0票数 0

我在java中使用JexcelAPI来操作excel文件。我需要制作两个工作簿对象的副本,一个是用于进一步操作的WritableWorkbook,另一个是简单地从原始工作簿复制,然后保存它,这样在原始对象发生任何事情而它是可写副本的情况下,我将有一个备份。直到最近,我才开始得到一个ArrayIndexOutOfBOunds异常。堆栈跟踪如下所示:

线程"main“java.lang.IndexOutOfBoundsException中的异常: Index: 62,尺寸: 54在java.util.ArrayList.rangeCheck(ArrayList.java:604) at java.util.ArrayList.get(ArrayList.java:382)在jxl.biff.FormattingRecords.getXFRecord(FormattingRecords.java:338) at jxl.read.biff.CellValue.getCellFormat(CellValue.java:144) at jxl.write.biff.CellValue.(CellValue.java:129) at jxl.write.biff.LabelRecord.(LabelRecord.java:116) at jxl.write.Label.(标签)jxl.write.biff.SheetCopier.shallowCopyCell(SheetCopier.java:808) at jxl.write.biff.SheetCopier.shallowCopyCells(SheetCopier.java:934) at jxl.write.biff.SheetCopier.copySheet(SheetCopier.java:219) at jxl.write.biff.WritableSheetImpl.copy(WritableSheetImpl.java:1584) at jxl.write.biff.WritableWorkbookImpl.copyWorkbook(WritableWorkbookImpl.java:971) at jxl.write.biff.WritableWorkbookImpl.(WritableWorkbookImpl.java:343)在jxl.Workbook.createWorkbook(Workbook.java:339) at jxl.Workbook.createWorkbook(Workbook.java:320) at musicpred.musicpreddebugtest.main(musicpreddebugtest.java:17) Java结果:1

我已经将问题归结为以下代码片段:

代码语言:javascript
运行
AI代码解释
复制
package musicpred;

import java.io.File;
 import jxl.Workbook;
import jxl.write.WritableWorkbook;
import java.io.*;
import jxl.read.biff.BiffException;
import jxl.write.*;
public class musicpreddebugtest{
public static void main(String[] args) throws IOException, BiffException,                             
 WriteException{

 Workbook workbook = Workbook.getWorkbook(new File ("NBSCOMBINED.xls"));
 WritableWorkbook backup = Workbook.createWorkbook(new File("BACKUP.xls"),workbook);
    backup.write();
    backup.close();

    WritableWorkbook writableWorkbook = Workbook.createWorkbook(new      

 File("NBSCOMBINEDW.xls"), workbook);

}
}

我注意到我可以同时创建两个WritableWorkbooks,甚至可以编写第二个()第二个(称为"writableWorkbook"),但是由于某种原因,当我试图编写第二个()第二个(“备份”)时,它会抛出错误。我还应该指出,我没有看到任何特别的意义,我的工作簿(行、列或工作表)中没有维度54的东西,也没有试图用长度62的数组来替换任何东西。

有没有人知道为什么会突然发生这种事?我有一种感觉,它有一个令人尴尬的简单的答案,但我无法弄清楚,所以任何帮助都会非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-01 14:10:25

好的,所以我发现了造成这个问题的原因。在JexcelAPI中,如果您尝试多次使用重载的CreateWorkbook方法复制工作簿,则如果您过去试图更改原始工作簿中任何单元格的格式,就会发生错误。实际上,您甚至不必更改格式--如果您只选择一个单元格,然后转到“格式单元格”窗口,单击“常规”格式(默认情况下该格式已经),然后单击ok并再次保存工作簿,则会引发错误。但是,如果打开窗口,然后选择ok,而不实际单击"general",则不会引发错误。显然,它在此窗口中单击了其中一个选项,并按下"ok",即使它是与以前相同的格式,这会触发错误。

这个虫子最糟糕的地方是它是永久性的..。即使考虑更改单元格的格式(打开“格式单元格”窗口并单击周围),也会永远损坏工作簿。如果有人能证实这一点,让我知道我不是疯子,我会很感激的。虽然我非常肯定是这样的,因为现在我在堆栈跟踪的顶部看到了一个“格式化记录”错误。显然,excel以某种方式存储有关单元格在过去是否已更改其格式的信息。但这至少对我来说是个惊喜。

最好,保罗

票数 0
EN

Stack Overflow用户

发布于 2013-11-13 11:07:45

我有几乎相同的问题,我用移动代码来解决它,以分离类,为该代码的每一次使用创建新的对象,并对其进行消隐。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17984826

复制
相关文章
AngularJS进阶(五)Angular实现下拉菜单多选
http://ngmodules.org/modules/angularjs-dropdown-multiselect
全栈程序员站长
2022/09/15
2.3K0
AngularJS进阶(五)Angular实现下拉菜单多选
最好用的 5 个 React select 多选下拉菜单组件测评推荐
本文完整版:《最好用的 5 个 React select 多选下拉菜单组件测评推荐》
蒋川@卡拉云
2022/06/01
7.7K0
最好用的 5 个 React select 多选下拉菜单组件测评推荐
CSS 下拉菜单_下拉菜单html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/01
7K0
MVC3教程之新手入门
你还可以通过Web Platform Installer将这些软件一起安装到本地。
拓荒者IT
2019/09/26
1.5K0
MVC3教程之新手入门
MVC 3.0 的新特性 摘要
MVC经过其1.0和2.0版本的发展,现在已经到了3.0的领军时代,随着技术的不断改进,MVC也越来越成熟。使开发也变得简洁人性化艺术化。
Isaac Zhang
2019/09/10
2.7K0
MVC 3.0 的新特性

            摘要
javascript下拉菜单代码(用jquery做下拉菜单)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126047.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/01
11.6K0
javascript下拉菜单代码(用jquery做下拉菜单)
vs2010 mvc3
asp.net mvc确实是好东西,VS2010在升级sp1的前提下只能最多安装mvc3.
py3study
2020/01/14
1.2K0
bootstrap 下拉菜单
<!doctype html> <html> <head> <meta charset="utf-8"> <title>联想控股</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="css/bootstrap.css" rel="stylesheet" type="text/css"> <script src="http://code.jquery.com/jquery.js"></script> <script src="js/bootstrap.min.js"></script> </head> <body>  <div class="dropdown"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> 下拉菜单<span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="#">菜单项1</a></li> <li><a href="#">菜单项2</a></li> <li><a href="#">菜单项3</a></li> </ul> </div> </body> </html>
用户5760343
2019/07/05
4.6K0
Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目
在上一篇文章Asp.Net MVC3 简单入门第一季(一)环境准备中我简单介绍了Asp.Net MVC3项目的安装和第一个Asp.Net MVC3项目的基本情况。没有详细介绍项目中各个文件夹的作用,以及创建的第一个页面是怎样运行起来的?还有好多的疑问,那在这篇文章中我们将详细介绍项目中各个文件夹的作用,并真的第一个项目我们简要介绍一下Asp.Net MVC的URL驱动的是怎么回事。
老马
2022/11/28
9930
Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目
Asp.Net MVC3 简单入门第一季(一)环境准备
大家好,从今天开始我将写一个关于AspNet MVC3方面学习的总结,并跟初学者一起分享一些基本的基础知识,作者本身也很愿意跟大家一起交流技术,一起交流一起进步,欢迎高手不吝赐教,欢迎大家不同的意见和建议,作者的学识和见识当然有自己的局限性,希望自己能成为不闷骚型的技术人员,而不是只自己享受技术,而不让更多的人来分享你的成果的人。
老马
2022/05/10
5170
Asp.Net MVC3 简单入门第一季(一)环境准备
奥卡姆剃刀和数据简化理念
数据资源DataRes导读:《数据资源概论》数据资源类型和数据产品类型概述,从数据和信息的专业领域常识,到常见的几十种数据资源相关概念和类型,全面总结数据产学研用多个方面相关概念的内涵及差异、标准和应用。
秦陇纪
2020/04/21
7240
奥卡姆剃刀 - 如无必要,勿增实体
奥卡姆剃刀法则,又被称为“简约之法则”,它是由14世纪圣方济各会修道士奥卡姆(英格兰的一个地方)的威廉(William of Occam)提出来的,他说过这样一段话:
石云升
2022/08/25
3580
jenkins 多选框
背景 jenkins自带的参数化不支持多选框,不过有插件支持:Extended Choice Parameter Plug-In 插件地址: https://plugins.jenkins.io/ex
千往
2018/01/24
3.8K0
jenkins 多选框
bootstrap select 多选,最多选择两项 常用
image.png <!doctype html> <html> <head> <meta charset="utf-8"> <title>联想控股</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="css/bootstrap.css" rel="stylesheet" type="text/css"> <link href="css/bootstrap-
用户5760343
2019/07/08
3.5K0
bootstrap select 多选,最多选择两项 常用
vue + iview/elementUi --城市多选
最近收到了一个需求,管理系统需要上线一个活动,但是活动是根据地区上线的,最小范围到市,于是有了下面这个组件 页面展示如图:
super.x
2019/04/12
1.8K0
vue + iview/elementUi --城市多选
bootstrap select 多选 常用
<!doctype html> <html> <head> <meta charset="utf-8"> <title>联想控股</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="css/bootstrap.css" rel="stylesheet" type="text/css"> <link href="css/bootstrap-select.css" rel="stylesheet" type="text/css"> <script src="http://code.jquery.com/jquery.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/bootstrap-select.js"></script> </head> <body> <div class="container"> <div class="row"> <label class="col-sm-3 control-label" style="line-height: 34px;margin-bottom: 20px;">选择用户:</label> <div class="col-sm-6"> <select class="selectpicker" multiple> <option value="苹果">苹果</option>   <option value="菠萝">菠萝</option>   <option value="香蕉">香蕉</option>   <option value="火龙果">火龙果</option>   <option value="梨子">梨子</option>   <option value="草莓">草莓</option>   <option value="哈密瓜">哈密瓜</option>   <option value="椰子">椰子</option>   <option value="猕猴桃">猕猴桃</option>   <option value="桃子">桃子</option> </select> </div> </div> </div>
用户5760343
2019/07/07
1.6K0
精通MVC3摘译(4)-使用Area
MVC Framework支持将一个web application放入一个area,每个area表示一个特殊功能的应用程序片段,比如管理,账单,客户支持等等。这对大型项目很有用,如果大型项目中所有的controller,View和model都只有相应的一个文件夹,那么很难管理,那么此时使用area会很有帮助。
py3study
2020/01/10
6690
html中下拉菜单(html做下拉菜单栏)
使用html5或者jQuery如何实现文本框下拉效果,如下图 CSS布局HTML小编今天和大家分享大神详解最好有可以使用HTML5 list 属性。list 属性需要应用到 input 框上,然后内容写一个自定义的 id 然后在任意位置放一对 datalist 标签,并给 datalist 框一个 id,和 list 属性指向的 id 一致即可。 在 datalist 标签下放列表项。
全栈程序员站长
2022/08/02
11.6K0
html中下拉菜单(html做下拉菜单栏)
ElementUI Checkbox 多选框
https://element.eleme.io/#/zh-CN/component/checkbox
py3study
2021/03/12
3K0
ElementUI Checkbox 多选框
input file多选 multiple[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160959.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/09
2.5K0

相似问题

Ajax在Chrome中工作,但在Firefox和IE中不起作用

16

Javascript / Ajax在Mozilla firefox中工作,但在Google Chrome和IE中不起作用

20

JQuery代码在Firefox中工作,但在Chrome和IE中不工作

11

代码在Chrome和Firefox中工作,但在IE中不起作用

13

$.ajax在chrome和firefox中不起作用,但在IE中起作用

33
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档