1

オブジェクトを持つクラスがあります

public class Service {

    private Integer vlan;
    private String desc;
    private String vrf;
    private String address;
    private String JR;
    public Service() {
    }
    public Service(Integer vlan, String desc, String vrf, String address, String JR) {
        this.vlan = vlan;
        this.desc = desc;
        this.vrf = vrf;
        this.address = address;;
        this.JR = JR;
    }
    public Service(Integer vlan) {
        this.vlan=vlan;
    }

そして、それらがExcelファイルにあるデータをlistArrayに追加したい

try {
    Workbook workbook = Workbook.getWorkbook(new File("Taza-BLR.xls"));
    Sheet sheet = workbook.getSheet(0);
    for(int i=1;i<sheet.getRows();i++)
    {
        liste.add(new Service(sheet.getCell(7, i).getContents()));
    }
} catch (IOException ex) {

だから彼らは私にこのエラーを教えてくれます:

constructor Service.Service(Integer) is not applicable
  (actual argument String cannot be converted to Integer by method invocation conversion)

この問題を解決するにはどうすればよいですか?

ありがとうございました

4

3 に答える 3

0

どうやら、セルの内容は文字列として返されます。そこに整数が見つかることが確実にわかっている場合は、次のようにその文字列からそれを解析できます。

String contents = sheet.getCell(7, i).getContents();
try {
    Integer value = Integer.valueOf(contents);
    liste.add(new Service(value));
catch (NumberFormatException ignored) {}
于 2013-06-18T15:55:50.093 に答える
0

次のように使用Integer.parseInt(String)します。

liste.add(new Service(Integer.parseInt(sheet.getCell(7, i).getContents())));

それが役に立てば幸い :)

于 2013-06-18T15:53:25.757 に答える