如何访问Excel工作表中的特定数据

时间:2017-07-26 07:20:12

标签: java jsp

实际上我想从excel表(.xls和.xlsx)中获取特定数据,就像我在excel表中有一个列名电子邮件,我想只获取该列。这是我已编写的代码,但这是获取所有详细信息。请参阅我的语法。

包readfile;

 import java.io.File;

 import jxl.Cell;
 import jxl.Sheet;
 import jxl.Workbook;
 public class reademail {


    public static void main(String[] args) throws Exception 
    {


        File f=new File("C:\\Users\\LQRP0023\\Desktop\\try.xls");

        Workbook wb=Workbook.getWorkbook(f);

        Sheet s=wb.getSheet(0);

        int row=s.getRows();

        int col=s.getColumns();


         for(int i=0;i<row;i++)
         {

            for(int j=0;j<col;j++)

             {
                Cell c=s.getCell(j,i);

                System.out.print(c.getContents());
             }

          System.out.println("");
        // TODO Auto-generated method stub

       } }}

2 个答案:

答案 0 :(得分:0)

您可能希望使用CellReference实用程序类来帮助您。

然后您可以执行以下操作:

 Sheet sheet = workbook.getSheet("MyInterestingSheet");

 CellReference ref = new CellReference("B12");
 Row r = sheet.getRow(ref.getRow());
 if (r != null) {
    Cell c = r.getCell(ref.getCol());
 }

这将允许您在给定的Excel样式引用中找到单元格

答案 1 :(得分:0)

您需要检查Cell类型并调用相应的方法来获取值,例如:

switch(cell.getCellType()){
    case Cell.CELL_TYPE_STRING:
        String stringValue = cell.getStringCellValue();
        break;

    case Cell.CELL_TYPE_NUMERIC:
        Number numericValue = cell.getNumericCellValue();
        break;
}

对于Date的单元格,您可以使用HSSFDateUtil类检查格式为cell的日期并获取值,例如:

if(HSSFDateUtil.isCellDateFormatted(cell)){
    Date dateValue = cell.getDateCellValue();
}