Tag: visual c ++

如何在Excel图表中禁用自动创buildSeriesCollection

我已经有这个代码 Excel::_ApplicationPtr app("Excel.Application"); app->Visible[0] = false; Excel::_WorkbookPtr book = app->Workbooks->Add(); Excel::_WorksheetPtr sheet = book->Worksheets->Item[1]; RangePtr pRange = sheet->Cells; RangePtr pCell; pCell = pRange->Item[1][1]; // A1 pCell->Value2 = "1"; pCell = pRange->Item[1][2]; // B1 pCell->Value2 = "1"; pCell = pRange->Item[1][3]; // C1 pCell->Value2 = "10"; pCell = pRange->Item[2][1]; // A2 pCell->Value2 = "3"; pCell = pRange->Item[2][2]; […]

如何创build编辑 – 删除Excel文件?

我正在做一个项目,有一些简单的值(login名,密码,姓名,年龄)。 我在互联网上search如何在Visual C ++上创build一个Excel文件,我不能忍受它。 我只是想简单的方法,我只想看看我的excel文件2 colums一个有我的程序的一些login代码,另一个密码。 我的编程水平不是很高,我不是一个英文的人,所以像你们这样的人解释一下,或给我一些简单的东西。 谢谢你的时间

XLL插件开发 – Excel SDKfunction问题

目前,我正在开发Excel 2010 2010的Excel加载项。不幸的是,微软的文档很less(或者我目前还没有看到)。 我达到了我的加载项被加载到Excel的内部,我可以从加载项的菜单中调用一个函数。 在里面,我尝试收集所有的表名,但每次调用函数都会得到不同的结果。 正确的名称总是返回,但它们被改变“奇怪”的字符包围。 相应的代码: LPXLOPER12 GetWorkbook(void){ LPXLOPER12 workbooksheets=new XLOPER12,xworkbookname = new XLOPER12; memset(xworkbookname,0,sizeof(XLOPER12)); memset(workbooksheets,0,sizeof(XLOPER12)); Excel12f(xlfGetDocument,xworkbookname,1,TempInt12(88)); Excel12f(xlfGetWorkbook,workbooksheets,2,TempInt12(1),xworkbookname); return 0; }

将Excel列的字母转换为相应的列号

我正在创build一个类来帮助创buildexcel文件(第二个问题)。 我有一个成员函数,在特定的行和列位置创build一个单元格,并将其保存到一个数组。 ExcelSheet::SetValue(int row, int column, std::string szValue) { myWorksheet[row][column] = szValue; } 但我重载该函数的选项指定列作为一个字母/数字组合,如在Excel中。 我希望能够将诸如“A3”的input转换成第3列第1列,或者将第19列第19列的input转换成第28列。IE, ExcelSheet::SetValue(std::string szCell, std::string value) { // search for the alphabetical part of szCell using regex and // convert it to a column number myWorksheet[row][column] = szValue; } Excel列模式如下所示: A, B, C, D, E… Z (1-26) AA, AB, AC, AD, AE… […]

加载多个项目DLL

有人可以帮我解决我所面临的这个XLL负载问题吗? 我有一个DLL解决scheme,我有prj1和prj2。 prj1有prj1cppfile有几个我写的用户定义函数。 prj2有prj2cppfile有我写的一些更多的用户定义的函数。 现在,我select解决schememake prj1作为我的启动项目。 然后我打F5开始在debugging模式下使用我的代码。 我观察到的是(在打开的Excel电子表格中)我只有prj1cppfiles的函数。 当我selectprj2作为我的启动项目时,我看到了prj2cppfiles中的函数。 现在我想要的是同时加载prj1和prj2,以便我看到prj1cppfile和prj2cppfile坐在两个不同的项目中的函数。 有人可以帮我解决这个问题。 我想以这样的方式build立一个解决scheme,无论我select哪个启动项目(prj1或prj2),我都应该能够在excel中公开所有的函数(来自prj1cppfile和prj2cppfile)。 我正在使用Visual Studio 2008,我正在使用来自Codeplex的Keith Lewis代码的XLL代码。 我是写XLL的新手,所以请给我一个详细的答案,因为我正在尝试学习这个过程。 我观察到的是在解决schemeprj1.dll和prj2.dll的debugging文件夹中存在。 我selectprj1作为我的启动项目,按f5键打开excel。 然后我去debugging文件夹并拖放prj2.dll在打开的Excel中。 当我这样做,我有访问所有的function是在prj1.dll和prj2.dll。 是不可能有一个主dll将包含不同的DLL持有的所有function? 什么是build立这个主dll的方法。 最好

本地C ++中的Excel COM AddIn示例

我需要编写一个Excel AddIn来添加用户定义的函数(UDF)到Excel。 我更喜欢把它写在非托pipe的C ++(我已经为Word写了一个)。 我无法find来自Internet的示例。 我想知道的是,我应该看看哪个接口以及如何从COM AddIn注册UDF函数。 文件是相当不清楚的。

当ddegetdata()方法调用应用程序内存时不断增加

我使用dde excel如果任何更新可用在excel应用程序获取通知,但在DdeGetData()称为应用程序内存不断增加之后。 它增长非常快。 我是新的vc ++编程我试图找出解决scheme和谷歌search,但没有find任何合适的解决scheme…这是我的代码 void DDERequest(DWORD idInst, HCONV hConv, char* szItem, char* sDesc) { HSZ hszItem = DdeCreateStringHandle(idInst, szItem, 0); HDDEDATA hData = DdeClientTransaction(NULL,0,hConv,hszItem,CF_TEXT, XTYP_REQUEST,5000 , NULL); if (hData==NULL) { printf("Request failed: %s\n", szItem); } else { char szResult[255]; DdeGetData(hData, (unsigned char *)szResult, 255, 0); printf("%s%s\n", sDesc, szResult); } }

如何在Excel编程中使用“查找”function?

我想从Excel文件中读取一些值。 为此我需要知道每列的最后一行。 为此,我使用find函数。 但是,它给运行时错误。 我正在使用c ++。 这是代码 Excel::_ApplicationPtr app; ::CoInitialize(NULL); app.CreateInstance("Excel.Application"); Excel::_WorkbookPtr wbk = app->Workbooks->Open("Algo_Sample.xlsx")); Excel::_WorksheetPtr sheet = wbk->Sheets->Item[1]; Excel::RangePtr range_Ptr = sheet->GetRange("A:A"); range_Ptr->Find("Subject","A1",Excel::xlValues,Excel::xlWhole,Excel::xlByRows,Excel::xlNext,false,false); 我用debugging器检查,错误是在最后一行。 这是Excel文件的快照 我将非常感谢在这个问题上发表意见的人 注意:我正在使用Windows XP,Visual Studio 2008,Office 2007,c ++。

从Visual Studiodebugging加载Excel插件xll

我创build了一个excel插件的debugging版本,让我们称之为myaddin.xll。 当我打开一个Excel的实例,并添加myaddin.xll它,我得到了预期的结果。 但是当我从Visual Studio环境中debugging时,myaddin.xll试图打开并给出“这个程序不能在DOS模式”错误。 对于我开发的其他Excel插件,我没有这个问题。 这个问题突然出现在这个特殊的插件中。 当某些东西丢失时,“dos模式…”错误通常会发生。 显然外挂没有任何缺失的组件,因为它在Excel中打开。 但是当我尝试从Visual Studio中打开时,某些组件会丢失。 我的问题是如何找出是什么导致错误,并修复它。 当我点击debuggingexcel打开,然后给出一个popup“你的文件myaddin.dll是不同的格式比指定的文件扩展名….”当我点击确定,popup我在电子表格中的垃圾字符。

我怎样才能创build一个Excel文件使用Interop的c + +

我search了很多信息,关于创build和编辑excel文件以保存我的程序的一些login名和密码的最简单的方法。 我见过很多C#方法,我不太了解它。 我已经添加了对Visual Studio 2010的引用Microsoft.Office.Interop.Excel (我正在使用Office 2010)。 但是,我不知道如何进一步去做。 我应该添加什么标题,还有什么我应该做的? 在他们的项目中我找不到C ++的任何教程。 我只想要一些简单的东西。 编辑: 我将在装有Office 2010的电脑上运行我的程序。