OpenOffice または Excel スプレッドシート (すべての式を含む) を、実行時に呼び出せる Java オブジェクトに変換するために使用できるツールは何ですか?
明らかに、これは計算エンジンを作成するだけであり、タイミングや API 呼び出しではなく、数値とテキストに関するものです。
名前付きセル範囲を使用して (効果的に) 変数に名前を付けたとしても、出力コードはおそらく理解しにくいでしょう。通常の Java コードのようにするには、リファクタリングが必要です。ただし、一部のデータ処理タイプのジョブのプロトタイピングには役立つと思います。または、上級 Excel ユーザーが管理する計算エンジンを埋め込む場合。
編集:簡単な例:
外観
A B C D
1 Mortgage Value 100,000.00
2 Interest rate 4.5%
3 Type Interest-only
4 Years 3
5 Regular payment 4,500.00
6 Total interest 13,500.00
セル名
A B C D
1 Mortgage Value VALUE
2 Interest rate INTEREST
3 Type TYPE
4 Years YEARS
5 Regular payment REGPYMT
6 Total interest TOTALPYMT
数式
A B C D
1 Mortgage Value 100,000.00
2 Interest rate 4.5%
3 Type Interest-only
4 Years 3
5 Regular payment =VALUE*INTEREST
6 Total interest =YEARS*REGPYMT
Java に変換すると、次のようになります。
package example.calcengine;
import java.math.*;
public class MyCalcEngine {
// unnamed cells
public String A1 = "Mortgage Value";
public String A2 = "Interest rate";
public String A3 = "Type";
public String A4 = "Years";
public String A5 = "Regular payment";
public String A6 = "Total interest";
// named cells
public BigDecimal VALUE = new BigDecimal(100000.00);
public BigDecimal INTEREST = new BigDecimal(0.045);
public String TYPE = "Interest-only";
public BigDecimal YEARS = new BigDecimal(3);
public BigDecimal REGPYMT = new BigDecimal(0);
public BigDecimal TOTALPYMT = new BigDecimal(0);
// formulas
public void calculate() {
REGPYMT = VALUE.multiply(INTEREST);
TOTALPYMT = REGPYMT.multiply(YEARS);
}
}
私は、セルの型が固定されていると仮定します-java.math.BigDecimalまたはStringのいずれかです。