使用PowerShell将可变数据加载到工作簿中

发布于 2025-01-21 13:34:17 字数 305 浏览 1 评论 0原文

我有一个API请求,该请求将带有CSV样式数据的变量命名$数据。 我想在不在磁盘上书写的情况下打开一个使用该数据的工作簿。

我该怎么做?

我能做的最好的是

$excel = New-Object -ComObject excel.application
$workbook = $excel.Workbooks.Add()
$workbook.worksheets(1).Cells(1,1) = $csv

,不幸的是,它将我的CSV填充到1个单元格中,添加定界符,而不是简单地将数据“复制”到工作簿中。

I have an API request that set a variable named $data with CSV style data.
I want to open a Workbook with that data without writing on disk.

How can I do that?

The best I can do is

$excel = New-Object -ComObject excel.application
$workbook = $excel.Workbooks.Add()
$workbook.worksheets(1).Cells(1,1) = $csv

Unfortunately, it fills my CSV into 1 cell, adding delimiter, instead of simply "copying" data into the workbook.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

熟人话多 2025-01-28 13:34:17

如果要使用comobject,这是一个相当简单的任务,因为可以使用convertto convertto convertto convertto converto与选项卡定界线,复制到剪贴板,然后粘贴到Excel中。这是我自己在脚本中使用的工作的片段:

$tasks|ConvertTo-Csv -del "`t" -NoTypeInformation|clip

$XL = New-Object -ComObject Excel.Application
$XL.Visible = $true
$WB = $XL.Workbooks.Add()
$XL.ActiveCell.PasteSpecial() | Out-Null

This is a fairly simple task if you want to use the ComObject, as you can use ConvertTo-Csv with a tab delimiter, copy to the clipboard, and paste into Excel. Here's a snippet of what I've used in a script myself to do just that:

$tasks|ConvertTo-Csv -del "`t" -NoTypeInformation|clip

$XL = New-Object -ComObject Excel.Application
$XL.Visible = $true
$WB = $XL.Workbooks.Add()
$XL.ActiveCell.PasteSpecial() | Out-Null
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文