5210人阅读
再使用jxl对多个excel进行复制拷贝的过程中,我们会用到,方法。但是执行的时候却总提示mon.AssertionFailed 这个异常,这个异常是sheet中的SheetSettings 属性是null。查询源代码:
SheetSettings
public SheetSettings(SheetSettings copy, Sheet s){
&Assert.verify(copy != null); //问题就出现在这。
this.sheet = 。。。。。
当我们拷贝的过程是先读取excel然后读取其内的所有sheet页。然后将这个sheet页放到importSheet方法中。
wb = Workbook.getWorkbook(new File("4252.xls"));
wwb = Workbook.createWorkbook(new File(be.getFilePath()));
Sheet [] sheets = wb.getSheets();
for (int j = 0; j & sheets. j++) {
&& & & & & & & & & & & & & &Sheet sheet = sheets[j];
wwb.importSheet(sheetName, wwb.getSheets().length, sheet);
但是这时却抛出AssertionFailed &异常。
经过查询代码发现读取的方法有点意思
&public Sheet[] getSheets()
&& & Sheet[] sheetArray = new Sheet[getNumberOfSheets()];
&& & return (Sheet[])this.sheets.toArray(sheetArray);
这个方法只是读取了一共有多少个sheet页,然后创建一个数组。
这个类似于hibernate的lazy。所以我在前面调用了下当前sheet的一个属性。
果然是这样,问题解决了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:18142次
排名:千里之外
评论:14条
(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)