【发布时间】:2016-07-21 16:06:42
【问题描述】:
我正在尝试将 CSV 文件导入新创建的 Excel 工作表,但无法利用此处(和其他地方)的现有问答来解决此问题。
另外,我确信我让这种方式变得更加困难,所以如果你认为合适,请随时更正这个臃肿的代码:
$varOneSheet = "OneSheet"
$xlsNewFile = New-Object -ComObject Excel.Application
$xlsNewFile.SheetsInNewWorkbook = 3
$xlsNewFile.displayAlerts = $false
$xlsNewFile.Visible = $false
$xlsWorkbook = $xlsNewFile.Workbooks.Add()
$sheetToRename = $xlsNewFile.Sheets.Item("Sheet1")
$sheetToRename.Name = $OneSheet
#this all works below, we need to push the data over to #xlsWorkbook now
$xlsCSVFile = New-Object -ComObject Excel.Application
$xlsCSVFile.displayAlerts = $false
$csvFilename = (".\DATA.CSV")
$xlsCSVFile.Workbooks.OpenText($csvFilename, 2, 1, 1, 1, $false, $false, $false, $true)
$xlsCSVFile.Visible = $true
$tmpSheetTOFile = $xlsWorkbook.Sheets.Item(1)
$tmpWorksheet = $xlsCSVFile.Sheets.Item(1)
#########################above is fine
#########################below should copy into $xlsWorkbook Sheet 1
$tmpWorksheet.Copy($tmpSheetTOFile)
上面的最后一行是故障点,产生:
使用“1”参数调用“复制”的异常:“工作表类的复制方法 失败的” 在行:1 字符:23 + $tmpWorksheet.Copy我真的需要创建一个单独的/临时工作簿吗?为什么我无法在已保存/现有的工作簿上简单地使用
OpenText?编辑:我使用this 上一个问题来了解我现在的位置,这就是为什么我不确定故障点在哪里。因为答案被接受并签字。
【问题讨论】:
标签: excel powershell powershell-2.0 worksheet