如何使用 JXL 2.6.12 jar 读取 excel 文件

Posted

技术标签:

【中文标题】如何使用 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

【讨论】:

以上是关于如何使用 JXL 2.6.12 jar 读取 excel 文件的主要内容,如果未能解决你的问题,请参考以下文章

为啥java读不了.xlsx的excel文件只能读.xls的,难道是因为我的jxl.jar包太久了?

jxl的使用,从excel插入数据以及读取数据

Java 读取excel表格文件

Excel导入数据批量生产建表sql语句

如何利用Java,将excel表格1.xls内的所有数据循环输出?jxl.jar我已经弄好了,就是程序不会。

使用java程序jxl操作Excel表格