问题标签 [xlw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Excel sheet writing all data in one column
I'm having a problem writing my text to an excel sheet:
Here's my code:
And here's input.txt
:
But input.txt is writing into only one column, how can I get it to write into different columns?
visual-studio-2015 - xlw in visual studio 2015: RunInterfaceGenerator error code 3
I'm trying to use xlw with Visual Studio 2015. I downloaded xlw-5.0.2f0 and built InterfaceGenerator.exe and the xlw .dll.
Then I open an example Template in VS2015. The XLL project seems to build, but in the end fails with the error message:
Error MSB3073 The command ""....\VC\bin\NMAKE" /f RunInterfaceGenerator.nmake ENVIRON=Debug LIBRARY=ObjectCacheDemo vc=vc12 ALL " exited with code 3. RunInterfaceGenerator C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets 37
I suspect something needs to be done to the RunInterfaceGenerator project, which it seems is fine for Visual Studio 2013 and not above?
c++ - DLL 函数名限制 - 函数名末尾的数字好吗?
我正在使用 Xlw 框架,它为在 Excel 中编写 C++ 插件提供了方便的包装器。我遇到了一个问题:当我为 Excel 中使用的 Excel 函数命名时,该函数在 Excel 中没有“公开”(即由加载项加载)。当我删除最后一个数字,或在函数名称中包含数字但用非数字完成函数时,它看起来很好。
(C++ Excel 加载项只是将 .dll 重命名为 .xll,并在 .dll 内容中添加了一些其他细节)。
对于导出的 .dll 函数,我没有看到任何相关的 Microsoft 命名限制,但我的问题是:创建一个以数字作为最后一个字符的导出 .dll 函数是否可以?如果是这样,我猜这个问题与 Excel 或 Xlw 框架有关。
c++ - XLL 由 XLW 制造,带有 BOOST UBLAS MyMatrix 数据类型转换为 Double ** 失败
我正在使用 XLW 创建要在 Excel 中注册的 XLL 函数。XLL 在 C++ DLL 中调用实际的数学模型。
我正在使用带有 UBLAS 的 BOOST 来帮助将 XLL MyMatrix 数据类型转换为 C++ DLL 用于输入的双 **。这可以正确构建,并且我可以在我的开发环境中正确使用具有数组输入和输出的函数。
但是,当我使用 InstallShield 安装程序在目标计算机上安装我的 Excel 加载项时,具有数组输入的函数返回“转换为双精度”错误,而不是来自 C++ DLL 的函数返回值。
这是我到目前为止尝试过的,没有运气:
1.使用 BOOST BCP 收集所有的 Numeric 库(UBLAS 没有出现),并将其包含在我的 Visual Studio 2013 项目中。然后我将 BOOST_ROOT 从包含中取出并使用项目属性,以便它使用项目中的内容(根据我的有限理解)
在目标计算机上安装这两个位的所有 Microsoft C++ Redistributables。
在目标计算机上下载并构建 BOOST,并创建 BOOST_ROOT 环境变量。在目标计算机上安装了 XLW,并在目标计算机上匹配了开发环境中的所有环境变量。
使用 Dependency Walker 来验证所有依赖 DLL 是否在目标计算机上。
一切都没有运气。我的安装程序需要包含什么?感谢您的时间。
开发环境:Windows 10 和 Visual Studio 2013 和 2015
目标计算机:装有 Office 2016 的 Windows 10
MyMatrix 声明:
函数声明中的 MyMatrix:
调用 C++ DLL 并使用 Box 将 MyMatrix 转换为 double **
盒子做转换
c++ - Excel XLL 插件可以有多少内存?
在XLW library的帮助下,我正在使用 C++ 为 Microsoft Excel 编写一个 .XLL 插件。我的操作系统是windows 7 64位版本,32 GB RAM;但我的 Excel 是 Excel 2010,32 位版本。
检查GlobalMemoryStatusEx,它显示 XLL 中的代码只能看到大约 1200 MB 的可用虚拟内存(来自ullAvailVirtual
struct _MEMORYSTATUSEX),尽管可用的物理内存(ullAvailPhys
)大约是 23 GB。
由于我的代码需要相当多的内存(每个计算线程大约 100MB),在发出 12 个线程后它会遇到错误的分配错误。
有没有办法增加可用内存?
- 这是 Excel
XLL
插件的限制吗?在控制台应用程序中,GlobalMemoryStatusEx
报告大约 2034 MB 可用虚拟内存。 - 这是一个限制
XLW library
吗? - 这是一个限制
32-bit Excel
吗?
excel - 在 Excel VBA 中注销和注册 XLL
我有一张工作表,当加载时,它会传递到它加载的 XLL 的路径。我需要一个可以取消注册该 XLL 并注册一个新的 VBA 宏。我知道如何注册一个新的 XLL。如何取消注册原始 XLL?
我找到了这段代码:
但这既不会删除原始函数名称(尽管它似乎确实使它们无法使用),也不会添加新的 XLL。DLL 是使用 c++\XLW 创建的,因此如果有帮助,我也可以访问此代码。谢谢,斯坦
python - 处理可变列数数据框 - Python
我正在尝试使用 pandas 将列表列表写入 excel 工作表,列表如下所示:
主列表中的这些列表的数量可以达到 1000 个。我还想将它们标记为 colums1、colomns2,例如直到 colums100。在同一张纸上。任何熟悉熊猫的人可以帮助我吗?因为这对某些人来说真的很容易吗?
c++ - C++ Excel 加载项加载错误:Excel 将 XLL 文件加载为文本文件
我正在使用 C++ 和XLW library为 Excel 构建 XLL 插件。
它在我的 PC 和许多其他 PC 上运行良好。但在某些情况下,当我将 XLL 拖到新的 Excel 窗口中时,会出现以下错误:
您尝试打开的文件“my_addin.xll”的格式与文件扩展名指定的格式不同。在打开文件之前,请确认文件没有损坏并且来自受信任的来源。您现在要打开文件吗?
如果单击yes
,则 Excel 会将 XLL 作为文本文件打开,显示如下:
MZÿÿ¸@ Í!¸LÍ!这个程序不能在 DOS 模式下运行。
就在第一行。预计不会发生这种情况。这可能是什么原因?
这是所有机器的系统配置:
- Microsoft Windows 7 Professional 64 位(操作系统)
- 微软 Excel 2010 32 位
python - python xlwt,写入下一个可用行
我知道你可以做到这一点
或者你可以做一个 for 循环,但我有多个用户在使用我的文件,我不知道当前行的编号是多少。
我可以创建一个 varCurrentRow
并在每次新用户加入时增加它,但这可能会发生:
User1 正在写入文件 ( CurrentRow = 1
)
User2 开始写入文件 ( CurrentRow = 2
)
所以 User1 的数据将被写入第 2 行。
有没有类似的
c++ - 如何获取 LPXLOPER 地址?
我使用了一些 xll 开放库(xlw,xlladdin)以及 xllsdk,但还没有找到答案。
我正在使用以下代码来调用我的函数:
我的问题是:如何获取参数 x 的地址?(例如“B3”或 rowfirst=3 和 colfirst=2)。
我从这篇文章中找到了答案,但 xll+ 不是免费的。
有人可以指出我的方法吗?