1

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...

プロセスの途中で、使用するカテゴリを決定し、そのカテゴリのプロパティのみを使用する必要があります。1 つのカテゴリのプロパティを読み込むにはどうすればよいですか?

現在、私はこのアプローチを持っています(理解を深めるためにコードを簡略化しています):

//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");

この種の問題を解決する別のアプローチはありますか、それともこのデザインを維持する必要がありますか?

注:私は設計段階にあるので、アプローチを変更できます。

4

1 に答える 1

2

ExtendedPropertiesプロパティの接頭辞でフィルタリングするために使用します。

Commons Collections ExtendedProperties#subset()を参照してください。

于 2013-08-07T16:06:14.633 に答える