Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将列从一个Excel工作表导入到另一个Excel工作表并比较值_Excel_Vba_Powershell_Powershell 2.0 - Fatal编程技术网

将列从一个Excel工作表导入到另一个Excel工作表并比较值

将列从一个Excel工作表导入到另一个Excel工作表并比较值,excel,vba,powershell,powershell-2.0,Excel,Vba,Powershell,Powershell 2.0,我正在编写一个脚本,该脚本基本上包含2个Excel文件,将两个文件中某列的值相互比较,并将发现的任何差异导入到为任务执行当天命名的CSV文件中 函数MatrexDiff(){ #这项任务每天都要发生,以发现错误 $action=newscheduledtaskaction-执行“MatrexDiff.ps1”-参数“C:\zach\MatrexDiff.ps1” $trigger=新的ScheduledTaskTrigger-每日-上午5点 注册ScheduledTask-Action$Acti

我正在编写一个脚本,该脚本基本上包含2个Excel文件,将两个文件中某列的值相互比较,并将发现的任何差异导入到为任务执行当天命名的CSV文件中

函数MatrexDiff(){
#这项任务每天都要发生,以发现错误
$action=newscheduledtaskaction-执行“MatrexDiff.ps1”-参数“C:\zach\MatrexDiff.ps1”
$trigger=新的ScheduledTaskTrigger-每日-上午5点
注册ScheduledTask-Action$Action-Trigger$Trigger-TaskName“Matrex差异”-说明“查找RPM和Matrex库存之间的差异”
#生成txt文件,然后将txt文件转换为csv文件以保存任何差异
$csv=新项目-路径“C:\Backup”-名称“差异”-项目类型文件-强制
$date=(获取日期).ToString(“dd-MM-yyyy”)
$new=“C:\Data\”+$date+“\u Difference.csv”
$csv |导出csv$new
#导入将相互比较的列表,以便在_Difference.csv文件中查找和打印差异
$zachPath=“C:\zach\zach.xlsx”
$tehyaPath=“C:\zach\Tehya.xlsx”
$xl=新对象-c excel.application
$xl.displayAlerts=$false
$wb2=$xl.Workbooks.Open($zachPath,$null,$true)
#复制列中的目标数据
$wb1=$xl.Workbooks.Open($tehyaPath)
$needColumn=$wb1.Sheets.Item('Sheet1')
$ColumnToCopy=$needColumn.Range(“C1”).EnitreColumn
$columntopy.Copy
#将复制的列粘贴到其他excel文件中
$sheetToUse=$wb2.Sheets.Item('Sheet1'))
$ColumnToFill=$SHEETTUSE.Range(“C1”).EnitreColumn
$ColumnToFill.Paste($ColumnToCopy)
#(尝试不当)将带有粘贴数据的文件导出到后台文件夹
$wb2.关闭($false)|导出Csv$wb2
$wb1.关闭($true)
$xl.Quit()
}

问题是什么?我会将这些excel文件转换为csv,并使用嵌套的foreach查找差异。我如何将发现的任何差异导出到另一个保存所有差异的csv文件?我会完全远离像excel这样的胖应用程序。PowerShell本身及其cmdlet在添加具有差异的列等方面喜欢而且更出色。您发布的代码中有一个输入错误(
.EnitreColumn
->
.EntireColumn
)。这是在您的原始代码中,还是仅在这个问题中?