我正在使用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;
答案 0 :(得分: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;
任何有更好方法答案的人都会受到赞赏。