0

我正在使用 flexcel 组件从 Delphi 2007 生成 Excel 文件。现在我们切换到该组件的最新版本,因为旧版本与 Excel 2010 不兼容。

现在,当我们将每个单元格的格式设置为不同的值时,我遇到了一个问题。正在生成一个文件,但所有单元格都具有默认格式。

下面是演示此行为的代码片段:

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

这是我能够找到的解决方案之一。在这里,我们需要创建自己的自定义格式。

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 回答