Java 如何在excel工作表中访问特定数据

Java 如何在excel工作表中访问特定数据,java,jsp,Java,Jsp,实际上,我想从excel工作表(.xls和.xlsx)中获取特定数据,就像我在excel工作表中有一个列名称电子邮件一样,我只想获取该列。这是我的代码,我已经写了,但这是所有的细节。对不起,我的语法 包读取文件 import java.io.File; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; public class reademail { public static void main(String

实际上,我想从excel工作表(.xls和.xlsx)中获取特定数据,就像我在excel工作表中有一个列名称电子邮件一样,我只想获取该列。这是我的代码,我已经写了,但这是所有的细节。对不起,我的语法

包读取文件

 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

       } }}
导入java.io.File;
进口jxl.Cell;
进口jxl.Sheet;
导入jxl.工作簿;
公共类reademail{
公共静态void main(字符串[]args)引发异常
{
文件f=新文件(“C:\\Users\\LQRP0023\\Desktop\\try.xls”);
工作簿wb=Workbook.getWorkbook(f);
表s=wb.getSheet(0);
int row=s.getRows();
int col=s.getColumns();

对于(inti=0;i您可能希望使用实用程序类来帮助您

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

 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样式引用中找到单元格,您需要检查
单元格类型并调用适当的方法来获取值,例如:

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

    case Cell.CELL_TYPE_NUMERIC:
        Number numericValue = cell.getNumericCellValue();
        break;
}
if(HSSFDateUtil.isCellDateFormatted(cell)){
    Date dateValue = cell.getDateCellValue();
}
对于日期为
的单元格
,您可以使用
HSSFDateUtil
类检查格式为
的单元格
的日期并获取值,例如:

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

    case Cell.CELL_TYPE_NUMERIC:
        Number numericValue = cell.getNumericCellValue();
        break;
}
if(HSSFDateUtil.isCellDateFormatted(cell)){
    Date dateValue = cell.getDateCellValue();
}

如果您想得到所需的答案,您应该添加一个示例xls文件内容和预期结果。