0

flexcelコンポーネントを使用してDelphi2007からExcelファイルを生成しています。古いバージョンはExcel2010と互換性がなかったため、このコンポーネントの最新バージョンに切り替えました。

各セルのフォーマットを異なる値に設定すると、問題が発生します。ファイルが生成されていますが、すべてのセルのデフォルトのフォーマットが使用されています。

以下は、この動作を示すコードスニペットです。

var
  V: TXlsCellValue;
begin
  with V do
  begin
    Value := S; //text
    XF := Fmt;  //format
    IsFormula := false;
  end;
  FXls.AssignCellDataX(Succ(Row), C, V);  // FXls : TXLSFile; 
end;
4

1 に答える 1

0

これは私が見つけることができる解決策の1つです。ここでは、独自にカスタマイズしたフォーマットを作成する必要があります。

Fmt: TFlxFormat;
GetDefaultFormat(Fmt); // used to get the default format of a blank cell 

以下は、このコンポーネントのフォーマットリストにフォーマットを追加する機能です。

Fmt.Font.Size20 := 240;
Rmt.WrapText := True;
tempXF:= FlexCelImport1.AddFormat(Fmt);

このAddFormat関数は、新しく作成されたフォーマット番号を示す整数値を返します。ここでは、このtempXF数値を使用してセルをフォーマットできます。

以下は、作業スニペットです。

var
    V: TXlsCellValue;
begin
    with V do
    begin
        Value := S; // text to be inserted
        XF := tempXF; // newly created format
        IsFormula := FALSE;
    end;
    FXls.AssignCellDataX(Succ(Row), Col, V); // FXls : TXLSFile; 
End;

より良いアプローチを持っている答えを持っている人は常に感謝しています。

于 2011-07-06T03:40:58.287 に答える