Delphi 2007 新版 flexcel 需要帮助

发布于 2024-11-18 09:49:21 字数 388 浏览 2 评论 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;

I am using flexcel component to generate Excel files from Delphi 2007. Now we switched to the latest version of this component because the old one was not compatible with Excel 2010.

Now I'm facing an issue when we set the format of each cell to a different value. A file is getting generated but with default formatting for all the cells.

Below is a code snippet that demonstrates this behavior:

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;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

要走干脆点 2024-11-25 09:49:21

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

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;

任何拥有更好方法的答案的人总是会受到赞赏。

This is one of the solution that I am able to find. Here we need to create our own customized formats.

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

and below is the function to add format to the format list of this component

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

This AddFormat function will return an integer value which denotes newly created format number. Hereon we can use this tempXF number to format cell.

Below is the working snippet:

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;

Anyone with answers having better approach is always appreciated.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文