首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否在Excel工作表中显示XML链接?

是否在Excel工作表中显示XML链接?
EN

Stack Overflow用户
提问于 2017-09-06 04:17:50
回答 1查看 84关注 0票数 0

我正在编写一个在Excel电子表格中汇总SQL Server性能信息的工具。其中一些信息包括SQL Server执行计划,这些计划可以用XML编码。(这称为"showplan XML“。)SQL Server Management Studio可以识别包含这些XML文档的文件,并可以图形方式显示这些文件。我的问题是,是否可以在Excel中创建一个超链接单元格,以便在Management Studio中打开一个计划。

我以前从来没有做过这样的事情。(我的背景是编写Unix系统软件。)看起来DDE (动态数据交换)协议可以解决这个问题,所以这就是我目前正在研究的方法。

EN

Stack Overflow用户

发布于 2017-09-23 04:07:40

一旦我想好了怎么做,这就变得非常简单了。我使用OLE嵌入,而不是DDE。嵌入会将Excel工作簿转换为类似于Unix tar文件或Windows zip文件的形式:您有一个文件,其中包含其他文件。

首先,我将XML文本写入一个扩展名为.sqlplan的临时文件。其次,我将这段代码称为:

代码语言:javascript
运行
复制
$object = $ws.OLEObjects().Add(
        [System.Type]::missing,  # ClassType
        $path,                   # FileName
        $false,                  # Link
        $false,                  # DisplayAsIcon
        [System.Type]::missing,  # IconFileName
        [System.Type]::missing,  # IconIndex
        [System.Type]::missing,  # IconLabel
        [System.Type]::missing,  # Left
        [System.Type]::missing,  # Width
        [System.Type]::missing,  # Height
        [System.Type]::missing   # Top
    )

其中$path指向临时文件。第三,删除临时文件。(因为“链接”参数是$false,所以XML文件的副本现在是工作簿的一部分。)

这可能是Martin Smith在上面的评论中提出的建议,但当时我理解他的意思是,.sqlplan文件将作为普通文件存储在工作簿之外。还请注意,这可能适用于任何类型的文件,您想要嵌入到电子表格中!

我之所以不在创建时设置大小和位置,是因为在创建时,您只能将其设置为正方形。我遵循上面的代码,让"link“填充它所在的单元格:

代码语言:javascript
运行
复制
$object.ShapeRange.LockAspectRatio = $false
$cell = $range.Cells($cellRow, $cellColumn)
$object.Left = $cell.Left
$object.Width = $cell.Width
$object.Height = $cell.Height
$object.Top = $cell.Top
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46062764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档