草庐IT

excel-interop

全部标签

c# - 同时使用 VBA 和 ActiveX 插件时出现 Excel 错误 406。

我的Excel插件(XLLAddIn,称之为MyAddIn)是用C#、ExcelDNA、NetOffice、VS2010构建的。客户端有另一个插件(我们称它为B),我猜它是用VBA编写的。客户说B在没有MyAddIn的情况下工作正常。安装MyAddIn后,B失败并出现错误:Errorcode:406Errormessage:Non-modalformscannotbedisplayedinthishostapplicationfromanActiveXDLL,ActiveXControl,orPropertyPage.我确实看到了thisMicrosoftresource,但我不想只告

c# - 在 Excel 2003 中调整编辑栏的大小

我已经创建了一个VSTO应用程序并正在寻找可以设置公式栏高度的东西。此选项可用于Excel2007,但我找不到任何此类属性可以帮助我解决2003版excel的问题。如有任何帮助,我们将不胜感激。 最佳答案 Application.FormulaBarHeight属性是在Excel2007中添加的,在早期版本中不可用。 关于c#-在Excel2003中调整编辑栏的大小,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

c# - 使用 DataTable 和 Linq 导出到 Excel 时缺少某些数据

我在单个XL文件中导出三个工作表,但我在第二个DataTable(EducationDetails表)和第三个DataTable中缺少一些用户数据(员工详细信息表)。EducationDetails表是一些用户不存在的,但是用户显示的是EmployeementDetails表。用户电子邮件ID在所有三个数据库表中。DataSeds=newDataSet();DataTabledt=newDataTable("RegistrationDetails");DataTabledt1=newDataTable("EducationDetails");DataTabledt2=newDataTa

c# - 任何用于处理 Excel(*.xls 和 *.xlsx)文件的开源/免费库?

这个问题在这里已经有了答案:HowdoIcreateanExcel(.XLSand.XLSX)fileinC#withoutinstallingMicrosoftOffice?(47个回答)关闭9年前。我知道一些用于处理Excel文件的开源库,但这些仅适用于*.xls或*.xlsx,例如NPOI适用于*.xls,EPPlus和ClosedXML适用于*.xlsx。由于性能问题,我不想使用MicrosoftExcelAutomation。您能否向我推荐一些满足此目的的开源或免费库(同时处理*.xls和*.xlsx)。

C# Native Interop - 为什么大多数库使用 LoadLibrary 和委托(delegate)而不是 SetDllDirectory 和简单的 DllImport

有一个greatansweronSO关于如何在运行时为DllImport设置搜索目录。使用两行代码即可正常工作。但是,许多开源项目改为使用LoadLibrary函数。有“谣言”说通过委托(delegate)调用native方法速度较慢。我称它们为“谣言”,因为我只在两个地方看到过这种情况,而且无论如何这都是微观优化。最有意思的地方是这篇博文:http://ybeernet.blogspot.com/2011/03/techniques-of-calling-unmanaged-code.html在那里,作者测量了不同技术的性能:C#(信息性)4318毫秒PInvoke-抑制安全5415

c# - HRESULT 异常 : 0x8002000B (DISP_E_BADINDEX) for System. Runtime.InteropServices.COMException

我有一部分代码试图将数据(从数据库)导出到Excel。当我尝试执行此任务时,它会生成此错误:System.Runtime.InteropServices.COMExceptionoccurredAdditionalinformation:Invalidindex.(ExceptionfromHRESULT:0x8002000B(DISP_E_BADINDEX))产生此错误的代码:stringExcelFileName=RootFolder+"\\"+"Work_Sheet.xls";File.Copy(RootFolder+"\\"+"WorksOrder_Template.xls",

c# - 如何从 ASP.NET Core Web API web-app 返回 Excel 文件?

在类似的问题中,使用此代码可以下载PDF:I'mtestingwithlocalfiles(.xlsx,.pdf,.zip)insidetheControllerfolder.SimilarQuestionHere[HttpGet("downloadPDF")]publicFileResultTestDownloadPCF(){HttpContext.Response.ContentType="application/pdf";FileContentResultresult=newFileContentResult(System.IO.File.ReadAllBytes("Contro

c# - 如何使用进程 ID 获取 Excel 实例或 Excel 实例 CLSID?

我正在使用C#,我需要通过进程ID获取特定的excel实例;我从另一个应用程序获得了我需要的实例的进程ID,但我不知道还能做什么,我不知道如何根据他的进程ID获得正在运行的excel实例。我在网上做了很多研究,但我只看到使用Marshal.GetActiveObject(...)或Marshal.BindToMoniker(...)的示例,我无法使用,因为第一个返回在ROT中注册的第一个Excel实例并不完全是我需要的实例,第二个实例要求您在尝试获取实例之前保存excel文件。另外,如果我在哪里能够使用进程ID获取我需要的excel实例的CLSID,那么我可以调用GetActiveOb

c# - Excel 2013 崩溃

我正在尝试将Excel2013嵌入到WPF应用程序中。问题是,当我在以下代码中调用SetWindowLongPtr时,Excel2013会立即崩溃。我挖了一下,发现如果我注释掉WS.CHILD样式,它工作正常,但是Excel工作表变成只读的,这不是我想要的。相同的代码适用于Excel2010。Excel.Application_excelApp;IntPtr_wrappedApplicationHandle;Int64lngStyle;Int64lExStyle;privatevoidButton_Click_1(objectsender,RoutedEventArgse){_exce

c# - 在c#中只过滤excel文件

我正在使用C#处理excel工作表,但我很惊讶只能选择excel工作表。我尝试了以下代码OpenFileDialogbrowseFile=newOpenFileDialog();browseFile.DereferenceLinks=true;browseFile.Filter="Excel|*.xls|Excel2010|*.xlsx";//browseFile.Filter="LinkFiles(*.lnk)|*.lnk";browseFile.Title="BrowseExcelfile";if(browseFile.ShowDialog()==DialogResult.Canc