0

JXLまたはApache POIなどを使用してExcelファイルで条件付きフォーマットを実行することは可能ですか? API Java たとえば、マクロ VBA のような?

' Mise en forme couleur pour différence
For i = 3 To fin Step 1
    Range("C" & i).Select
    Selection.FormatConditions.Delete
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
        Formula1:="=B" & i
    Selection.FormatConditions(1).Interior.ColorIndex = 6 
4

1 に答える 1

1

したがって、ターゲット言語で必要な Excel オブジェクトは次のとおりです。

  1. oXlAppExcel.Applicationのような変数でのインスタンスを作成します
  2. オブジェクトを使用しExcel.Applicationてターゲット ワークブックを開きます。
    • ファイル名を引数として Open メソッドに渡して、 oXlApp WorkbooksコレクションのOpenメソッドを呼び出します。
  3. oxlAppSelectionオブジェクトのプロパティを使用して Excelオブジェクトを返すRange
  4. SelectionまたはRange以下のように変更します。

    1. RangeのFormatConditionsプロパティでDeleteメソッドを実行します。
    2. RangeのFormatConditionsプロパティでAddコマンドを 実行します。

      • これらの引数をAddメソッド に渡します。
        • タイプ:=xl式
        • Formula1:="=$B2<>$C2"
      • 最初の Format Condition のこのプロパティを設定して、セルの色を設定します
        • FormatConditions(1).Interior.ColorIndex = 36

    '

  5. ワークブックでSaveメソッドを呼び出す
  6. WorkbookでCloseメソッドを呼び出してクリーンアップし、oXlAppで終了し、最後にメモリを解放します

Excel VBAでは、次のようにします。

activesheet.usedrange.select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$B2<>$C2"
Selection.FormatConditions(1).Interior.ColorIndex = 36

これにより、最初に使用されたセルが選択され、次に列 b と c の条件付き書式が追加されます

また、この StackOverFlow: Manipulate Excel from Jacob/Javaも参照してください。

JXLガイドを見てください

于 2013-05-09T10:57:52.157 に答える