有一个新的流程要实现,包括从Excel文件中编写和读取。为此,该过程需要一些属性来定义用于写入/读取值的工作表和单元格。根据我们可以说的类别,可以使用固定数量的属性。举个例子:
category1.sheet1=Customer Info
category1.cell1=A10
category1.cell2=B10
category1.cell3=A20
category2.sheet1=Customer Data
category2.cell1=A20
category2.cell2=B20
category2.cell3=A25
//more categories...
在此过程中,在某个步骤中,我决定了我正在使用的类别,然后我必须仅使用该类别的属性。我如何加载单个类别的属性?
目前,我采用这种方法(为了更好地理解而简化了代码):
//get category1 or category2 based on some rules...
String category = getCurrentCategory();
//define the name of the properties to use
String sheet1 = category + "sheet1";
String cell1 = category + "cell1";
String cell2 = category + "cell2";
String cell3 = category + "cell3";
//use the properties...
String sheet1Value = getProperty(sheet1);
String cell1Value = getProperty(cell1);
//excelFileHandler is a custom interface to work with Excel files
//it serves as facade to communicate with Apache POI classes
excelFileHandler.goToSheet(sheet1Value).goToCell(cell1Value).setValue("some value");
excelFileHandler.goToCell(cell2Value).setValue("some value");
有没有其他方法可以解决这类问题,还是应该保留这种设计?
注意:我处于设计阶段,所以我仍然可以改变方法。
答案 0 :(得分:2)
使用ExtendedProperties
按属性前缀进行过滤。