mfc 设置excel 单元格的列宽

CString strTL, strBR;
					strTL.Format(L"%s%d", GetExcelColName(cd.nCol), cd.nRow);
					strBR = strTL;
					CRange rangeMerge = range.get_Range(_variant_t(strTL), _variant_t(strBR));
					rangeMerge.put_ColumnWidth(_variant_t((long)(20)));

宽度设置函数为 : put_ColumnWidth

一开始我在设置单元格宽度时,设置了同一行的多个单元格宽度为200,在保存excel时失败。 只设置一个单元格宽度为200时,发现长度特别长。

最后发现 excel的列宽并不是我认为的像素、mm等单位。 excel的列宽为 十分之一英寸,

也就是1个单位 = 2.54mm

excel 默认的列宽为8.08个单位,查看步骤为:  开始--》单元格--》格式--》列宽--》打开即看到

相当于excel单元格的列宽默认值为20.52mm

可以通过拖拽单元格的宽度看到每列的列宽是多少。

一定要把列宽设置在合理范围内,太大了肯定不行!

//没必要设置那么宽,太宽了,实际可能也就 20个单位
rangeMerge.put_ColumnWidth(_variant_t((long)(230)));

你可能感兴趣的:(MFC,mfc,excel,c++)