Excel中Java中Selenium WebDriver中的2个接口之间如何进行向下/向上转换

Excel中Java中Selenium WebDriver中的2个接口之间如何进行向下/向上转换,java,selenium-webdriver,jxl,Java,Selenium Webdriver,Jxl,接口writeablesheet扩展接口Sheet(jxl)库。我想使用中的addCell() 可写工作表 但是当我尝试将Sheet对象转换为writeablesheet对象时,我得到了ClassCastException。我想知道如何在两个接口之间进行类型转换 下面是我的代码: package xyz; import java.io.File; import java.io.IOException; import jxl.Cell; import jxl.Sheet; im

接口
writeablesheet
扩展接口
Sheet
(jxl)库。我想使用中的
addCell()
可写工作表

但是当我尝试将
Sheet
对象转换为
writeablesheet
对象时,我得到了
ClassCastException
。我想知道如何在两个接口之间进行类型转换

下面是我的代码:

package xyz;  
import java.io.File;  
import java.io.IOException;  
import jxl.Cell;  
import jxl.Sheet;  
import jxl.Workbook;  
import jxl.read.biff.BiffException;  
import jxl.write.Label;  
import jxl.write.WritableSheet;  
import jxl.write.WriteException;  
import jxl.write.biff.RowsExceededException;  
public class WriteExcel12  
{   
   public static Workbook wb;  
   public static Sheet s;  
   public static Cell c;  
   public static WritableSheet ws;  
   public static Label l;  
   public static void main(String[] args) throws BiffException, IOException, RowsExceededException, WriteException  
    {  
        File f=new File("D:/Input.xls");
        wb=Workbook.getWorkbook(f);
        s=wb.getSheet("Data");

        //WritableSheet extends Sheet
        ws=(WritableSheet)s;//ClassCastException here

        //Read cell(0,0) from Sheet named Data
        c=s.getCell(0,0);
        String a=c.getContents();

        //Read cell(0,1) from Sheet named Data
        c=s.getCell(1,0);
        String b=c.getContents();

        //Read cell(0,2) from Sheet named Data
        c=s.getCell(2,0);
        String d=c.getContents();

        //Convert String to integer
        int e=Integer.parseInt(a);
        System.out.println(e);

        int g=Integer.parseInt(b);
        System.out.println(g);

        int h=Integer.parseInt(d);
        System.out.println(h);

        //Perform addition
        int result=e+g+h;
        System.out.println(result);

        //Convert result which is it to String
        String ans=Integer.toString(result);

        // Write String  ans to cell(0,3)
        l=new Label(3,0,ans);
        ws.addCell(l);
    }
}  

Data.xls

10 | 20 | 30|



您可以从
工作簿
创建一个
可写工作簿
。然后您可以获得
可写工作表

File f=new File("D:/Input.xls");
wb=Workbook.getWorkbook(f);
WritableWorkbook copy = Workbook.createWorkbook(f, workbook);
WritableSheet sheet = copy.getSheet("Data"); 

您可以从
工作簿
创建一个
可写工作簿
。然后您可以获得
可写工作表

File f=new File("D:/Input.xls");
wb=Workbook.getWorkbook(f);
WritableWorkbook copy = Workbook.createWorkbook(f, workbook);
WritableSheet sheet = copy.getSheet("Data"); 

,我尝试了上面的代码。我在Input.xls中名为Data的工作表被名为Input的工作表覆盖,该工作表为空。我尝试了上面的代码。我在Input.xls中名为Data的工作表被名为Input的工作表覆盖,该工作表为空。