从c++ xll返回二维数组到excel,回来

2023-12-12

首先我知道这个问题已经在这里被问过:

从 c++ xll 返回多维数组到 excel

我曾试图重提这个话题,但没有成功。 (OP 最近不那么活跃,从来没有。)这就是为什么我再次问这个问题,提前抱歉。

我编写了一个返回(行)一维数组的函数:

__declspec(dllexport) LPXLOPER12 WINAPI Get1DArray(void)
{
    static XLOPER12 xlArray;
    XLOPER12 xlValues[2];
    xlValues[0].xltype = xltypeNum;
    xlValues[1].xltype = xltypeNum;
    xlValues[0].val.num = 123;
    xlValues[1].val.num = 456;
    xlArray.xltype = xltypeMulti | xlbitDLLFree;
    xlArray.val.array.rows = 1;
    xlArray.val.array.columns = 2;
    xlArray.val.array.lparray = &xlValues[0];
    return static_cast<LPXLOPER12>(&xlArray);
}

这样可行。我尝试了与我上面提到的问题中的OP相同的错误尝试(这就是我遇到他的问题的方式)。

我唯一的文档是 excel sdk 的 msdn,它对我没有帮助。我编写的函数,我使用了在网上找到的示例。没有找到任何二维数组。我知道 Steve Dalton 的有关 xll 的书,但没有帮助。

我怀疑多维XLOPER12数组在一维数组中存储值,按行和列或列和行编号,但没有成功利用这种直觉......

这就是我在这里的原因。


返回 5*5 矩阵的简单示例。不要忘记通过以下方式释放分配的数组xlAutoFree12功能。

__declspec(dllexport) LPXLOPER12 WINAPI Get2DArray(void)
{   
    static XLOPER12 xlArray;
    int rows = 5;
    int cols = 5;
    xlArray.xltype = xltypeMulti | xlbitDLLFree;
    xlArray.val.array.rows = rows;
    xlArray.val.array.columns = cols;
    xlArray.val.array.lparray = reinterpret_cast<LPXLOPER12>(::malloc(rows * cols * sizeof(XLOPER12)));
    for (int r=0;r<rows;r++)
    {
            for (int c=0;c<cols;c++)
            {
                XLOPER12* var = xlArray.val.array.lparray + ((r* cols) + c);
                var->xltype = xltypeNum;
                var->val.num = r*c;
            }
    }
    return &xlArray;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从c++ xll返回二维数组到excel,回来 的相关文章

  • std::list::clear 是否会使 std::list::end 迭代器无效?

    检查这个代码 include stdafx h include
  • 从 Invoke 方法获取 RETURN

    我正在尝试从另一个线程上的列表框项目中读取值 我尝试创建一种新方法来运行调用命令 我可以设法将命令发送到列表框 例如通过调用方法添加 但我似乎无法得到响应 我似乎无法获取该项目的值 我尝试了几种方法 一旦我将它从空变为字符串 事情就开始变得
  • 当其源是 https uri 时如何使 wpf MediaElement 播放

    在 wpf 独立应用程序 exe 中 我在主窗口中包含了 MediaElement
  • 从另一个 FORM 中取回隐藏的 FORM

    我有两种形式Form1 and Form2 我正在打开Form2 from Form1 on button Click Form2 obj2 new Form2 this Visible false obj2 Show 然后我想回来Form
  • C# 和月历,选择多个日期

    我正在制作一个程序 可以帮助人们用 C 为某个部门 预订 订单 他们需要能够选择不同月份的多个日期 我更愿意拥有它 这样他们就可以单击一个日期 然后按住 Shift 键单击另一个日期以选择这两个日期之间的所有日期 并控制单击以进行单选 取消
  • OpenGL缓冲区更新[重复]

    这个问题在这里已经有答案了 目前我正在编写一个模拟水的程序 以下是我所做的步骤 创建水面 平面 创建VAO 创建顶点缓冲区对象 在其中存储法线和顶点 将指针绑定到此 VBO 创建索引缓冲区对象 然后我使用 glDrawElements 渲染
  • libtool 在 Ubuntu 13.04 上构建 thrift 0.9.1 时出错

    在 Ubuntu 13 04 上构建 thrift 0 9 1 支持 C C java C perl python 时出现此错误 configure 不带任何选项运行 make 不带任何选项运行 Making all in test mak
  • 如何调整 Windows 窗体以适应任何屏幕分辨率?

    我知道这是重复的问题 但我检查了所有其他相关问题 他们的答案没有帮助 结果仍然与屏幕截图 2 中所示相同 我是 C Windows 窗体新手 如截图1所示 我有Form1有一些控件 每组控件都放在一个面板中 我在 PC1 中设计了应用程序
  • 如何调试在发布版本中优化的变量

    我用的是VS2010 我的调试版本工作正常 但我的发布版本不断崩溃 因此 在发布版本模式下 我右键单击该项目 选择 调试 然后选择 启动新实例 此时我看到我声明的一个数组 int ma 4 1 2 8 4 永远不会被初始化 关于可能发生的事
  • C# Winforms Designer 无法打开,因为它无法在同一程序集中找到类型

    我收到以下错误 找不到类型 My Special UserControl 请确保引用包含此类型的程序集 如果此类型是您的开发项目的一部分 请确保已使用当前平台或任何 CPU 的设置成功构建该项目 但没有任何意义的是My Special Us
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • 无法获取本地或参数的值,因为它在此指令指针处不可用,可能是因为它已被优化掉

    Visual Studio 2010 会删除 没有其他词 不安全块中函数参数之一中的数据 什么可能导致此错误 调试器显示以下消息 Cannot obtain value of local or argument as it is not a
  • 从点云检测平面集

    我有一组点云 我想测试3D房间中是否有角落 所以我想讨论一下我的方法 以及在速度方面是否有更好的方法 因为我想在手机上测试它 我将尝试使用霍夫变换来检测线 然后我将尝试查看是否有三条线相交 并且它们也形成了两个相交的平面 如果点云数据来自深
  • 在 C 语言中替换宏内的宏

    我正在尝试使代码部分可重用 我下面的评论片段没有达到我想要的效果 define NAME ABC define LOG SIZE NAME LEN 我想LOG SIZE决心ABC LEN 我尝试过使用 但没能让它发挥作用 LOG SIZE在
  • 如何对STL向量进行排序?

    我想排序一个vector vector
  • 在 Qt 中播放通知(频率 x)声音 - 最简单的方法?

    Qt 5 1 或更高版本 我需要播放频率为 x 的通知声音 n 毫秒 如果我能像这样组合音调那就太好了 1000Hz 持续 2 秒 然后 3000Hz 持续 1 秒 最简单的方法是使用文件 WAV MP3 例如如此处所述 如何用Qt播放声音
  • 时间:2019-03-17 标签:c#TimerStopConfusion

    我想通过单击按钮时更改文本颜色来将文本框文本设置为 闪烁 我可以让文本按照我想要的方式闪烁 但我希望它在闪烁几次后停止 我不知道如何在计时器触发几次后让它停止 这是我的代码 public Form1 InitializeComponent
  • 当 Verb="runas" 时设置 ProcessStartInfo.EnvironmentVariables

    我正在开发一个 C 应用程序 我需要创建变量并将其传递给新进程 我正在使用ProcessStartInfo EnvironmentVariables 新进程必须提升运行 因此我使用 Verb runas var startInfo new
  • 值和类型的简洁双向静态 1:1 映射

    我将从我想象如何使用我想要创建的代码开始 它不必完全像这样 但它是我在标题中所说的 简洁 的一个很好的例子 就我而言 它是将类型映射到相关的枚举值 struct bar foo
  • Emacs C++,打开相应的头文件

    我是 emacs 新手 我想知道 是否有在头文件 源文件和相应的源文件 头文件之间切换的快捷方式 是否有像通用 emacs 参考卡那样的参考卡 Thanks There s ff find other file 您可以使用以下方法将其绑定到

随机推荐

  • 在 WPF 中保存单击按钮的用户颜色设置

    我在保存按钮的某些属性时遇到了一些问题 按钮很小并且有多种颜色 当我按下一个按钮时 一些指定的颜色正在改变 我想保存它们以供下次启动 我可以保存文本框值 但这 我不能 Code public MainWindow InitializeCom
  • 使用 Ruby 捕获网络摄像头图像[重复]

    这个问题在这里已经有答案了 Ruby 中有没有可以用来捕获网络摄像头图像的库 必须在 GNU Linux 上运行 这看起来不错http www wedesoft demon co uk hornetseye api files Hornet
  • 测试时如何将模拟对象注入到类中?

    我的用户类别如下 public class UserResource Inject UserService userService public boolean createUser User user DbResponse res use
  • 在 R 中使用 React JS 抓取网页

    我正在尝试抓取下面的页面 https metro zakaz ua uk promotion 1 此页面包含反应内容 我可以用代码抓取第一页 url https metro zakaz ua uk promotion 1 read html
  • NASM 在 .text 部分声明变量

    我刚刚开始使用 nasm 学习 asm 我注意到如果我在 text 部分声明一个变量 我的代码工作得很好 只是想知道为什么我可以这样做以及它与使用 data 部分有何不同 我还注意到在 bss 部分中的变量名称后面需要一个 但在 data
  • BIRT 变量 - 如何创建和使用?

    我需要创建一个全局报告变量来获取第一个表的变量 然后在最后一个表中使用它来进行计算 我是 BIRT 新手 没有找到相关指南 有人可以解释我该怎么做吗 我们在大纲视图的 变量 部分初始化一个全局报告变量 然后我们可以从报告的任何位置设置和获取
  • 网页更新无需轮询

    我正在开发一个网络应用程序 用户可以在其中请求服务 并且提供商将可以响应他 因此 当用户请求某种服务时 我们的应用程序将向提供商发送通知 要求他响应用户 我想做的是 当用户请求服务时 提供商会立即收到通知 就像 Facebook 那样 实现
  • 按外键求和分组

    我需要对表 B 中的数量进行求和 并根据创建日期时间的 id 进行分组 并与表 A 的 id 连接 CREATE TABLE TableA Id int Name varchar 50 Type varchar 10 ForeignKeyI
  • 未定义的符号:clapack_sgesv

    我有这个小代码 from numpy import from scipy import signal misc import matplotlib pyplot as plt path pics band 1 misc imread pat
  • 基于 Woocommerce 中的用户角色和付款方式的百分比折扣

    我试图为functions php 编写一个代码片段 当同时选择角色 订阅者 和付款方式 信用卡 时 该代码片段会对购物车总额应用2 的折扣 到目前为止我的进展 function discount when role and payment
  • 从 HTML 中抓取 pdf 文件

    如何从 HTML 中抓取 pdf 文档 我正在使用 R 只能从 HTML 中提取文本 我要抓取的网站示例如下 https www bot or th English MonetaryPolicy Northern EconomicRepor
  • Internet Explorer 中的 element.dataset

    我需要一种方法来列出data 元素的属性 我会用Object keys element dataset 但IE 9 0没有dataset支持 我应该如何以适用于 IE 9 0 以及 Chrome Firefox Safari 的方式执行此操
  • 将随机数添加到脚本标签

    我想向动态构造的脚本标记添加一个随机数 下面的代码不会向生成的脚本标签添加任何随机数 有人知道如何添加随机数吗 var wss document createElement script wss nonce random string ws
  • ClearCase SCM 适配器支持注释

    我想用版本历史注释一些代码 当使用 SVN 时 这在 Eclipse 中很容易 但 Rational ClearCase SCM Adapter 插件似乎不支持它 我快速 Google 搜索显示 ClearCase 在命令行上支持通过以下方
  • Node.js - 如何检查 http 请求中 URL 的状态

    我正在尝试运行一个简单的应用程序 使用 http 服务器模块检查 URL 的状态 基本上这是一个简单的 http 服务器 require http createServer function req res res writeHead 20
  • Perl 中的 chomp 未按预期工作

    我在 Perl 中发现了 chomp 的奇怪行为 我无法理解为什么 chomp 会这样工作 以下行无法按预期工作 if chomp str1 eq chomp str2 但是 以下工作正常 chomp str1 chomp str2 if
  • Quartz.NET 3.0 似乎在同一范围内启动所有作业

    在定义了两个依赖于作用域服务 ScopedDataAccess 的作业 该服务是我的数据库上下文的包装器 之后 我很难将 Quartz 3 0 7 与 ASP NET Core 2 2 一起使用 services AddScoped
  • Ionic 2 无法解析 InAppBrowser 的所有参数

    我不明白为什么在使用本机 InAppBrowser 插件时出现以下错误 无法解析 InAppBrowser 的所有参数 import Component from angular core import NavController NavP
  • 如何添加提交表单的 5 分钟 JavaScript 倒计时器

    我想添加 5 分钟倒计时器 将表单提交到我的 php 页面
  • 从c++ xll返回二维数组到excel,回来

    首先我知道这个问题已经在这里被问过 从 c xll 返回多维数组到 excel 我曾试图重提这个话题 但没有成功 OP 最近不那么活跃 从来没有 这就是为什么我再次问这个问题 提前抱歉 我编写了一个返回 行 一维数组的函数 declspec