更新 我按照Hovercraft Full Of Eels的建议改写了删除我的解决方案的原始问题
我正在尝试从POI访问私有方法。
//Class Available from library (cannot modify), below is a small part of class
public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
private XSSFDataValidationHelper dataValidationHelper;
@Override
public int getDefaultColumnWidth() { ----------------(1)
CTSheetFormatPr pr = worksheet.getSheetFormatPr();
return pr == null ? 8 : (int)pr.getBaseColWidth();
}
}
我需要一种方法,它可以给我一些类似下面的东西,而不是上面的
@Override
public int getDefaultColumnWidth() {
CTSheetFormatPr pr = worksheet.getSheetFormatPr();
return (int)pr.getDefaultColWidth();
}
从其他类实现getDefaultColWidth()是 -
public double getDefaultColWidth() {
synchronized(this.monitor()) {
this.check_orphaned();
SimpleValue var2 = null;
var2 = (SimpleValue)this.get_store().find_attribute_user(DEFAULTCOLWIDTH$2);
return var2 == null?0.0D:var2.getDoubleValue();
}
}
实际原因继续阅读:
实际问题是我试图获取JAVA中Google电子表格导出的xlsx文件的默认列宽。问题是POI返回8个单位,这是默认值。它应该返回的值应该是14.43(大约)。我可以使用我想要使用的方法获得该值。
答案 0 :(得分:-2)
从类中扩展的内容无法访问扩展类的私有字段或函数。如果你想从Base之外访问getSolution(),你需要公开它。