草庐IT

Export2Excel

全部标签

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

c# - 在 EXCEL VBA 中使用 C# dll

我在这里遇到了一个小问题,需要你们的帮助。我有一个通过COM互操作公开的C#DLL。它工作正常,但显然C#互操作对象的部署是一场灾难,每次更新DLL时都需要重新加载。所以我想知道如何使用此C#DLL中的函数,如下所示:或者我可以通过将DLL和电子表格放在一起来调用函数的任何东西。DeclareFunctiongetStringLib""()asstringsubtest()range("A1").value=getStringEndSub语法可能有误。 最佳答案 你可以这样做,但你必须了解VBA和.Net的区别。首先,您必须创建一个

c# - 将 .NET 像素转换为 OpenXML 格式的 Excel 宽度的公式

我花了很多时间试图确定一个公式,以使用OpenXML格式将.NET像素转换为Excel列宽。我正在使用EPPlus生成xmls文档。我正在尝试确定要自动调整大小的列的宽度。我通过测量字符串然后尝试将其转换为OpenXML的列宽来获取像素数,我认为这是以字符为单位测量的。我已经阅读了微软关于如何转换它的文档并尝试了他们建议的公式,但它甚至不准确:http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.column.aspx这是我使用他们的公式的代码:publicdoubleGetCharacte

c# - 如何在 Excel 电子表格上从 C# 更改工作表名称

我有一个C#应用程序,我在其中从数据库中的数据创建大量Excel文件。这部分工作正常。但是,我的用户询问是否可以修改工作表选项卡以反射(reflect)数据库中的字段。这听起来很简单,但是,当我尝试重置名称时,它告诉我它是只读的,无法设置。我尝试了以下方法,但没有用:xlApp.Sheets[0].Range["A1"].Value="NewTabName";还尝试过:xlApp.Name="NewTabName";我进行了谷歌搜索,发现了其他一些对我也不起作用的方法。一些回复表明它是只读的,无法完成。这看起来应该很简单。我该怎么做。 最佳答案

c# - 尝试使用 Excel 2007 进行办公自动化,但一直使用 Excel 2003

环境:WindowsXP机器已安装Excel2007和Excel2003(按此顺序,而不是按时间顺序)。C#3.5问题:当我使用PIA执行一些Office自动化时,我使用以下代码行:varexcel=newApplicationClass();PIA的版本专门将其称为Excel12。C:\WINDOWS\assembly\GAC\Microsoft.Office.Interop.Excel\12.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Excel.dll但:excel.Version;//thisis11.0insteadof1

c# - 将 excel 单元格格式保留为包含 "date like"数据的文本

这看起来很愚蠢,但我无法以#/####的格式获取我的值来编写为文字字符串,而不是在excel中格式化为日期.我正在使用ClosedXML写入excel,并使用以下内容://snipIXLRangeRowtableRow=tableRowRange.Row(1);tableRow.Cell(1).DataType=XLCellValues.Text;tableRow.Cell(1).Value="2/1997";//snip查看我在单元格2/1/1997中获得的输出excel工作表-即使我在代码中将格式设置为文本,我还是将其作为“日期”获取在Excel工作表中-我通过右键单击单元格、设置

c# - 通过 C# 通过工作表名称获取 Excel 工作表引用

我目前正在使用以下C#代码获取Excel工作表的句柄:Excel.Worksheetworksheet=(Excel.Worksheet)sheets.get_Item(15);//Gettheworksheet"SubSignOff"number有什么方法可以通过使用工作表名称"SubSignOff"获得相同的内容? 最佳答案 而不是使用Excel.Workbook.Sheets收藏,更容易访问Excel.Workbook.Worksheets集合,这样你就可以利用早期绑定(bind)。在您的情况下,它可能类似于以下内容:Exce

c# - 为什么 Microsoft.Office.Interop.Excel.Application.Quit() 让后台进程继续运行?

以下代码使MicrosoftExcel后台进程继续运行,直到我的程序退出:varexcelApplication=newApplication();varworkbooks=excelApplication.Workbooks;varworkbook=excelApplication.Workbooks.Open(file.FullName);workbook.Close();excelApplication.Workbooks.Close();excelApplication.Quit();Marshal.ReleaseComObject(workbook);Marshal.Rele