c++ - Excel C API xlfGetCell 与范围
问题描述
我正在使用 c++ 和 Excel C API“Excel XLL SDK 2010”编写一个 Excel 加载项,我需要在命令函数内检索一系列单元格。使用xlfGetCell命令,我只能在xltypeStr XLOPER 中获取范围的左上角值。
有没有办法获得一个包含整个范围的xltypeMulti XLOPER,还是我需要在每个单元格上循环?
解决方案
使用xlCoerce:
XLOPER12 xRef, xAddress, xResult;
xAddress.val.str = L"\5A1:C4";
xAddress.xltype = xltypeStr;
Excel12f(xlfIndirect, &xRef, 1, &xAddress);
Excel12f(xlCoerce, &xResult, 1, &xRef);
然后xRef
将包含一个 xlRef,它指向当前活动工作表上的 A1:C4 范围,xResult
并将包含包含该范围内数据的 xltypeMulti(您需要 xlFree)。
除非您非常热衷于了解 Excel C API 的基础知识,否则我建议您使用包装库,例如xlOil,此处的文档。(免责声明:我写的)。在 xlOil 中,上面只是
auto result = xloil::ExcelRef(L"A1:C4").value();
推荐阅读
- wpf - 具有已定义列和行的网格的 WPF 样式?
- hyperledger-fabric - Hyperledger Fabric:Java 类中的对等链码实例化错误
- javascript - 如何将二进制流转换为其十六进制表示(或 UTF8)
- r - 如何根据另一个数据框更新一个数据框中的列?
- css - 响应式html:包装时在主列中的元素之间放置侧列
- reactjs - 与 chrome 和 safari 相比,firefox 滚动到动画非常滞后
- javascript - 如何解决 Ramda reduce 函数的错误返回结果(javascript)
- python - 无法使用 Python 将 CSV 数据导入 MySQL 数据库
- python-3.x - 麻烦预处理图像以使文本更清晰以准备提取
- java - 为什么我会得到,我该如何解决这个“字符串到对象类型
“ 错误