我是Java的新手。请指导我如何将Cell数据类型转换为字符串并将其存储在数组列表中并打印相同的内容。
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import jxl.Cell;
import jxl.LabelCell;
import jxl.NumberCell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
class ExcelReader {
private Workbook workbook;
private Sheet sheet;
ArrayList<Cell> getRollNo=new ArrayList<Cell>();
ArrayList<Cell> getName=new ArrayList<Cell>();
ArrayList<Cell> getTotalMarks=new ArrayList<Cell>();
public void getExcelContents() throws BiffException, IOException
{
workbook= Workbook.getWorkbook(new File("C://Student_Record.xls"));
sheet=workbook.getSheet(0);
int rowLen=sheet.getRows();
for(int i=1;i<rowLen;i++ )
{
getRollNo.add((Cell)sheet.getCell(1,i));//here how to convert cell datatype to string ,store and print same using array list object
getName.add((Cell)sheet.getCell(2,i));
getTotalMarks.add((Cell)sheet.getCell(3,i));
System.out.println(getRollNo);
}
}
}
答案 0 :(得分:0)
getContents()方法构成jxl.Cell类应该做好自己的工作。它以字符串形式返回单元格的内容。
参考:http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/jxl/Cell.html
如果要存储字符串,则需要将数组列表更改为String类型而不是Cell
ArrayList<String> getRollNo=new ArrayList<String>();
然后像这样在你的循环中添加数据
getRollNo.add((Cell)sheet.getCell(1,i)).getContents();
否则只保留您的ArrayList的Cell类型,当您想显示内容时,调用每个单元格对象上的getContents()方法
ArrayList<Cell> getRollNo=new ArrayList<Cell>();
getRollNo.add((Cell)sheet.getCell(1,i));
for(Cell c : getRollNo)
{
System.out.println(c.getContents());
}