我正在尝试将符号 - 白色方 block (Unicode 25A1) 插入 Excel 电子表格,但不断出现错误:
我尝试了以下方法,但没有成功:
1. WorkSheet.Cells[CurrRow,CurrCol].Formula := '=ChrW(&H25A1)';
2. WorkSheet.Cells[CurrRow,CurrCol].Formula := '=Char(25A1)';
运行宏也没有帮助,因为它说“?”
真的希望有人能帮助我
最佳答案
Excel 的 COM 接口(interface)是 Unicode API。 Excel 在内部使用 Unicode 字符串。只需将您的特殊字符通过 Delphi WideString 传递给 Excel 即可。您不需要 Excel 公式。
WorkSheet.Cells[CurrRow,CurrCol].Value := WideString(#$25A1);
如果您使用的是 Unicode 版本的 Delphi(即 2009 或更高版本),那么如果您将源代码设为 UTF-8 文件,则可以在源代码中包含 Unicode 字符。
WorkSheet.Cells[CurrRow,CurrCol].Value := WideString('□');
如果您开始添加非 ANSI 字符,IDE 会将您的源文件转换为 UTF-8。
关于Delphi - 在Excel中添加特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6591527/