Tag: 自动化

从Haskell的Excel中读取数据

我想从.xls文件中获取数据,而无需手动打开Excel。 一种可能性是使用COM自动化。 有com-1.2.3和hdirect软件包,但是我找不到如何在Excel中使用这些软件包的例子。 有没有人有这个解决scheme?

自动化加载项与COM加载项

我是附加程序的新手,需要以下scheme的帮助: 我有一个C#Excel自动化插件,它调用几个UDF 。 在自动加载项加载期间,我想要进行用户名和密码检查,在加载项加载时,用户可以input其详细信息的屏幕必须popup。 如何使用自动化加载项来完成? 如何使用自动化插件一般地完成事件处理? 我想要在用户按下F9来计算一些单元格中的UDF公式时进行一些计算。 是否有任何文章解释了自动化插件中的事件处理?

以编程方式访问Excel自定义文档属性

我试图将自定义属性添加到我已经编程创build的工作簿。 我有一个方法来获取和设置属性,但问题是工作簿正在为CustomDocumentProperties属性返回null。 我不知道如何初始化此属性,以便我可以从工作簿添加和检索属性。 Microsoft.Office.Core.DocumentProperties是一个接口,所以我不能去做下面的事情 if(workbook.CustomDocumentProperties == null) workbook.CustomDocumentProperties = new DocumentProperties; 这是我必须得到的代码,并设置属性: private object GetDocumentProperty(string propertyName, MsoDocProperties type) { object returnVal = null; Microsoft.Office.Core.DocumentProperties properties; properties = (Microsoft.Office.Core.DocumentProperties)workBk.CustomDocumentProperties; foreach (Microsoft.Office.Core.DocumentProperty property in properties) { if (property.Name == propertyName && property.Type == type) { returnVal = property.Value; } DisposeComObject(property); } DisposeComObject(properties); return returnVal; } protected void […]

C#和Excel自动化 – 结束正在运行的实例

我正在通过C#尝试Excel自动化。 我已经遵循了微软关于如何解决这个问题的所有指示,但是我仍然在努力放弃最后的参考资料给Excel来closures并使GC收集它。 代码示例如下。 当我注释掉包含类似于以下行的代码块时: Sheet.Cells[iRowCount, 1] = data["fullname"].ToString(); 然后该文件保存并退出Excel。 否则,文件会保存,但Excel仍将作为一个进程运行。 下次运行代码时,会创build一个新的实例并最终build立起来。 任何帮助表示赞赏。 谢谢。 这是我的代码的准系统: Excel.Application xl = null; Excel._Workbook wBook = null; Excel._Worksheet wSheet = null; Excel.Range range = null; object m_objOpt = System.Reflection.Missing.Value; try { // open the template xl = new Excel.Application(); wBook = (Excel._Workbook)xl.Workbooks.Open(excelTemplatePath + _report.ExcelTemplate, false, false, m_objOpt, m_objOpt, m_objOpt, m_objOpt, […]

Excel .NET COM – 自动化错误。 该系统找不到指定的文件

我有一个在Excel中由VBA使用的.NET 2.0 COM对象。 它在我的开发机器上工作正常,但是当试图在干净的VM工作站上使用它时,我得到这个错误: 自动化错误。 该系统找不到指定的文件。 该DLL注册“regasm / tlb / codebase mycom.dll”,而不是放在GAC中。 我没有VM框的pipe理权限 有任何想法吗?

实时(未保存的)Excel数据和C#对象之间的最快接口

我想知道什么是从一个打开的Excel工作簿读取和写入数据到c#对象的最快方式。 背景是我想开发从Excel使用的ac#应用程序,并使用Excel中保存的数据。 业务逻辑将驻留在C#应用程序中,但数据将驻留在Excel工作簿中。 用户将使用Excel,并在Excel工作簿上点击一个button(或者做类似的事情)来启动C#应用程序。 然后,C#应用程序将从Excel工作簿中读取数据,处理数据,然后将数据写回到Excel工作簿。 可能有许多数据块需要被读取并写回到Excel工作簿,但通常是相对较小的尺寸,例如10行和20列。 有时可能需要处理大量的数据列表,大约50,000行和40列。 我知道用VSTO做这个比较容易,但是我想知道什么是最快的(但仍然健壮和优雅)的解决scheme,并得到速度的想法。 我不介意解决scheme是否推荐使用第三方产品或使用C ++。 显而易见的解决scheme是使用VSTO或interop,但我不知道性能是什么样的,而我目前用来读取数据的VBA,或者是否有其他解决scheme。 这是张贴在专家交stream,说VSTO是比VBA慢得多,但那是几年前,我不知道是否performance有所改善。 http://www.experts-exchange.com/Microsoft/Development/VSTO/Q_23635459.html 谢谢。

如何获得Excel表格中占用的单元格的范围

我使用C#来自动化一个Excel文件。 我能够获得工作簿和它包含的工作表。 如果例如我在sheet1中有两列和五列。 我想要得到被占用的单元格的范围为A1:B5。 我试了下面的代码,但没有给出正确的结果。 列#和行#更大,单元也是空的。 Excel.Range xlRange = excelWorksheet.UsedRange; int col = xlRange.Columns.Count; int row = xlRange.Rows.Count; 有另一种方法可以用来获得这个范围吗?

在单元格更改时自动执行Excelmacros

每当特定单元格中的值发生更改时,如何自动执行Excelmacros? 现在,我的工作代码是: Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("H5")) Is Nothing Then Macro End Sub 其中"H5"是被监视的特定单元, Macro是Macro的名称。 有没有更好的办法?