VB.net中如何嵌套EXCEL?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB.net中如何嵌套EXCEL?相关的知识,希望对你有一定的参考价值。
VB.net中如何嵌套EXCEL? 在一个form内显示一个内嵌的EXCEL文档格式,可以直接在上面编辑数据,同时又可以操作form
参考技术A 没见人这么用过。。VB.net里面有个控件gridview可以实现你的功能,具体你可以搜索下如何选择使用 VB.NET 打开的 Excel 版本?
【中文标题】如何选择使用 VB.NET 打开的 Excel 版本?【英文标题】:How to choose which Excel version to open using VB.NET? 【发布时间】:2011-10-16 10:57:39 【问题描述】:我有几个 Excel 工作表,我想使用 VB.NET 处理不同的 Excel 版本
基本上,我想选择使用 VB.NET 打开某个工作表的 Excel 版本。有没有办法知道机器上安装了哪个Excel版本以及VB.NET有多少个版本?以及如何选择打开哪个 Excel 版本?
我想通过编程来了解它,我知道如果你看一下机器中的注册表项就可以做到这一点。虽然,我需要的是创建一个软件,询问用户他想要打开的 Excel 版本
【问题讨论】:
Detecting Installed Excel Version (and Service Packs) 我认为这会回答“有没有办法知道机器中安装了哪个 Excel 版本?”。 您能否澄清一下,在谈论“打开 Excel”时...您是在启动带有参数的特定 Excel 可执行文件之后,还是想使用 Office 自动化 API 进行交互使用 VB 中的那个 Excel 实例? 不过,我需要的是创建一个软件,询问用户他想要打开的 Excel 版本。您真的是说某人可能安装了多个版本的 Excel,并且您需要您的应用程序提示用户选择要打开的 Excel .exe 版本吗? 是的.. 它发生在我工作的地方。某些计算机可能安装了超过 1 个 Excel,我希望我可以使用用户选择的版本打开某些工作表 【参考方案1】:以下代码 sn-p 获取计算机上所有已安装 Excel 副本的列表(已在运行 Excel 2003 和 2007 的 Windows XP 机器上进行了尝试和测试)。
Dim reg As RegistryKey
Dim subKey As RegistryKey
Dim rtn As New Dictionary(Of String, String)
reg = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Office")
If reg IsNot Nothing Then
For Each subKeyName As String In reg.GetSubKeyNames
subKey = reg.OpenSubKey(subKeyName)
If subKey IsNot Nothing Then
If subKey.GetSubKeyNames().Contains("Excel") Then
subKey = subKey.OpenSubKey("Excel\InstallRoot")
rtn.Add(subKeyName, subKey.GetValue("Path").ToString)
End If
End If
Next
End If
For Each kvp In rtn
MessageBox.Show(String.Format("Version: 0 at '1Excel.exe'", kvp.Key, kvp.Value))
Next
在变量rtn
中,您有一个版本字典(键)和安装 Excel 的目录(值)。正如您在我的代码末尾的MessageBox
位中看到的那样,您需要将“Excel.exe”添加到它的末尾。
现在您有了已安装的 Excel 副本及其版本的位置,您可以创建一个列出它们的表单,以允许用户选择他们希望使用的版本。
虽然我确信您可以找到使用 Excel 打开 Excel 电子表格的命令行,但我想为了完整起见,我会将其包含在此处;
excel.exe "c:\My Folder\book1.xlsx"
(http://office.microsoft.com/en-us/excel-help/command-line-switches-for-excel-HA010158030.aspx)
对how to identify installed Excel versions and their location的稍微完整的解释。
【讨论】:
太棒了!只是另一个问题,如果我需要通过 VB.NET 控制工作簿怎么办。我的意思是,除了打开它,我还需要通过 VB.NET 运行宏、排除行等 我的建议是为此打开一个新问题,因为它可能需要更多信息,并且响应会比单个评论允许的更长(我猜,我不会知道该怎么做)。以上是关于VB.net中如何嵌套EXCEL?的主要内容,如果未能解决你的问题,请参考以下文章