1

さまざまな理由で .csv ファイルに置き換える必要がある Excel ドキュメントに一連の Drools ルールを保存しています。問題は、.csv ファイルが結合されたセルをサポートしていないため、ルールを適切に変換することが不可能ではないにしても困難なことです。

多くのグーグル検索の後、「...」を使用して結合されたセルを示すための参照が見つかりましたが、その使用方法に関する明確な例はありませんでした。ソース コードに含まれるドキュメントは、さらにいくつかのヒントを提供しますが、それでもあいまいすぎます。私は無数の異なる解釈を試みましたが、成功しませんでした。

どんな助けでも大歓迎です。

4

1 に答える 1

2

私たちはあなたと同じ問題を抱えていました。ソース コードを確認した後: CsvParser + DefaultRuleSheetListener、解決策を見つけました。ここで、この投稿は時間を節約するのに役立ちます。

ObjectType Matching の行、つまり CONDTION、ACTION の行の下にある ... のみを指定します。結合セルの先頭から結合セルの末尾まで。結合されたセルを継続する場合、単に「...」を使用することはできませんが、コードは正規化後にそれを無視し、トリミングして空のセルとして扱い、黙って無視します。a...、b... などの任意のものを入力します。ここに例を示します。

また、Drools は CSV リーダーではなく、バッファリングされたリーダーを使用することに注意してください。複数の行にまたがる 1 つのセル値を処理することはできません。CSVReader を使用する CSVParser を持っていない限り。

簡単な例を次に示します。

コンディション,コンディション,コンディション,アクション,アクション
$Client:Client(),$Product:Product()...,anythingButNotJust3Dots...,,
"clientType == ""$param""","planType == ""$param""","accountType == ""$param""","documents.add(""$param"");" ,"documents.add(""$param"");"
個人、RRSP、現金、ドキュメント1、ドキュメント2
個人、回答、現金、ドキュメント2、
個人、RIF、現金、ドキュメント3、
INDIVIDUAL,,マージン,document4,document6
于 2013-04-17T22:13:09.440 に答える