java jxl 读取excel时读取了很多空行 求解决办法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java jxl 读取excel时读取了很多空行 求解决办法相关的知识,希望对你有一定的参考价值。
比如说我一个excel只有20行数据,但是读取的时候,sheet的结果却有31条数据 或者更多!多出来的数据都是空的,但是会导致后期的校验通不过!在线等。求大神解决方案
这应该是excel文件中的问题,看看是不是文件中后面那些行里面有空格,或者做过其他标记,可以直接把excel的第21到第31行选中然后删除,保存好之后重新用jxl读取试试。 参考技术A 加上单元格值的判断,如果其中有比不为空的单元格,可以去判断此单元格,如果单元格为空,就直接continue跳过这个一行,或者break跳出循环。追问你指的是一个个单元格去判断还是?
追答看你的excel内容了,如果都不允许为空的,判断行的第一个单元格就可以了,如果第一个可以为空,就判断第二个罗,依次来推。
参考技术B 你的数据不是横向对齐排列的吗 getCellFormat() 等于 null 或者 “”的时候就return被 参考技术C 1. 单元格内容是连续不为空的行 - 可以判空 if(row == null) break; //跳出循环2. 单元格内容是间隔不为空的行 - 可以 continue; // 跳过空行 参考技术D 参考答案: 上帝助自助者。
如何使用 JXL 2.6.12 jar 读取 excel 文件
【中文标题】如何使用 JXL 2.6.12 jar 读取 excel 文件【英文标题】:How to read excel file using JXL 2.6.12 jar 【发布时间】:2011-03-24 04:22:26 【问题描述】:当我在我的 eclipse 项目中添加 jxl.jar 时,它在控制台中看到了 dalvik 格式的转换错误。
控制台显示错误:
[2010-08-02 19:11:22 - TestApp] 写入输出时遇到问题:不应该发生
[2010-08-02 19:11:22 - TestApp] 转换为 Dalvik 格式失败,出现错误 2
代码没问题
下面是我的代码:
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class ReadExcel
private String inputFile;
public void setInputFile(String inputFile)
this.inputFile = inputFile;
public void read() throws IOException
File inputWorkbook = new File(inputFile);
Workbook w;
try
w = Workbook.getWorkbook(inputWorkbook);
// Get the first sheet
Sheet sheet = w.getSheet(0);
// Loop over first 10 column and lines
for (int j = 0; j < sheet.getColumns(); j++)
for (int i = 0; i < sheet.getRows(); i++)
Cell cell = sheet.getCell(j, i);
CellType type = cell.getType();
if (cell.getType() == CellType.LABEL)
System.out.println("I got a label "
+ cell.getContents());
if (cell.getType() == CellType.NUMBER)
System.out.println("I got a number "
+ cell.getContents());
catch (BiffException e)
e.printStackTrace();
有没有办法解决这个问题?
谢谢 明图
【问题讨论】:
最好发布您收到的错误消息 控制台中显示错误:[2010-08-02 19:11:22 - TestApp] 写入输出时遇到问题:不应该发生 [2010-08-02 19:11:22 - TestApp] 转换到 Dalvik 格式失败,错误 2 【参考方案1】:CellType type = cell.getType();
if (cell.getType() == cell.LABEL)
System.out.println("I got a label " + cell.getContents());
if (cell.getType() == cell.NUMBER)
System.out.println("I got a number " + cell.getContents());
使用cell
而不是CellType
。
【讨论】:
以上是关于java jxl 读取excel时读取了很多空行 求解决办法的主要内容,如果未能解决你的问题,请参考以下文章
java用jxl读取网页上下载的excel文件,怎么识别?求解答
Java读取Excel中数据时怎么判断Excel中的最后一行
Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)
jxl读取excel导入到数据库,报错java.lang.NoClassDefFoundError: jxl/read/biff/BiffException