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)));
相关推荐
南东山人2 小时前
一文说清:C和C++混合编程
c语言·c++
Ysjt | 深5 小时前
C++多线程编程入门教程(优质版)
java·开发语言·jvm·c++
ephemerals__5 小时前
【c++丨STL】list模拟实现(附源码)
开发语言·c++·list
Microsoft Word5 小时前
c++基础语法
开发语言·c++·算法
一只小小汤圆6 小时前
opencascade源码学习之BRepOffsetAPI包 -BRepOffsetAPI_DraftAngle
c++·学习·opencascade
legend_jz6 小时前
【Linux】线程控制
linux·服务器·开发语言·c++·笔记·学习·学习方法
嘿BRE6 小时前
【C++】几个基本容器的模拟实现(string,vector,list,stack,queue,priority_queue)
c++
ö Constancy7 小时前
c++ 笔记
开发语言·c++
fengbizhe7 小时前
笔试-笔记2
c++·笔记