在xll中通过xlcFormatNumber设置Excel数字格式

时间:2008-09-16 09:16:03

标签: c++ excel xll

我正在尝试设置单元格的数字格式,但是对xlcFormatNumber的调用失败,将单元格编号格式保留为“常规”。我可以使用xlSet成功设置单元格的值。

XLOPER xRet;
XLOPER xRef;

//try to set the format of cell A1
xRef.xltype = xltypeSRef;
xRef.val.sref.count = 1;
xRef.val.sref.ref.rwFirst = 0;
xRef.val.sref.ref.rwLast = 0;
xRef.val.sref.ref.colFirst = 0;
xRef.val.sref.ref.colLast = 0;

XLOPER xFormat; 
xFormat.xltype = xltypeStr;
xFormat.val.str = "\4#.00"; //I've tried various formats

Excel4( xlcFormatNumber, &xRet, 2, (LPXLOPER)&xRef, (LPXLOPER)&xFormat);

我没有设法找到有关此命令用法的任何文档。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:5)

感谢Simon Murphy的回答: - Smurf on Spreadsheets

//It is necessary to select the cell to apply the formatting to
Excel4 (xlcSelect, 0, 1, &xRef);

//Then we apply the formatting
Excel4( xlcFormatNumber, 0, 1, &xFormat);