第一次发布海报。
我试图在PowerShell中编写一个脚本,在我的服务器上执行以下操作:
循环遍历位于单个目录中的csvs 使用每个csv作为工作表创建单个Excel工作簿(工作表名称作为文件名) 将工作簿保存在指定的目录中 ***服务器上不存在Microsoft Office(因此Excel)
任何帮助都会非常感激。
我在下面找到了,但它不能容纳多个csv。 How to export a CSV to Excel using Powershell
任何帮助都会非常感激。
答案 0 :(得分:2)
此模块https://github.com/dfinke/ImportExcel将允许您在不加载Excel的情况下读取/写入Excel文件(具有多个页面和格式)。
答案 1 :(得分:0)
我认为这个脚本可以满足您的需求,但您需要先从https://epplus.codeplex.com下载EPPlus(免费的.NET库)。相应地调整路径。
Add-Type -Path 'C:\tmp\EPPlus 4.0.4\EPPlus.dll'
$pkg = New-Object OfficeOpenXml.ExcelPackage(New-Object System.IO.FileInfo('c:/tmp/csvdemo/book.xlsx'))
Get-ChildItem 'c:/tmp/csvdemo/*.csv' |% { [void]$pkg.Workbook.Worksheets.Add($_.Name).Cells.LoadFromText($_) }
$pkg.Save()
此处有更多信息:https://dontomp.net/read-and-write-excel-workbook-with-powershell/
答案 2 :(得分:0)
以下是previous question的相关位。您需要将spreadsheetlight模块下载到您的服务器。
$doc = New-SLDocument -WorkbookName bigxldoc -Path C:\temp -PassThru -Verbose
Get-ChildItem -Path C:\temp -Filter *.csv |
Import-CSVToSLDocument -WorkBookInstance $doc -AutofitColumns -Verbose
$doc | Save-SLDocument -Verbose