如何在不覆盖 excel 文件的情况下保存文件
How to save file without overwrite excel file
我在 Powershell
脚本中使用 EPPlus.dll
将 csv 文件转换为 xlsx 文件,但我不知道如何在不覆盖现有数据的情况下保存文件。
我必须从 csv 文件生成新信息到 excel 文件,
但我还有其他手动创建的选项卡,我的脚本总是会覆盖它。
脚本如下所示:
$FileNameCSV = "$env:WORKSPACE/file.csv"
$FileNameExcel = "\folder\file.xlsx "
$DLLPath = "D:\EPPlus.dll"
[Reflection.Assembly]::LoadFile($DLLPath) | Out-Null
$Format = New-object -TypeName OfficeOpenXml.ExcelTextFormat
$Format.Delimiter = ","
$Format.TextQualifier = '"'
$Format.Encoding = [System.Text.Encoding]::UTF8
$Format.SkipLinesBeginning = '0'
$Format.SkipLinesEnd = '1'
$TableStyle = [OfficeOpenXml.Table.TableStyles]::Medium1
$ExcelPackage = New-Object OfficeOpenXml.ExcelPackage
$Worksheet = $ExcelPackage.Workbook.Worksheets.Add("CM")
$null=$Worksheet.Cells.LoadFromText((Get-Item $FileNameCSV),$Format,$TableStyle,$true)
$Worksheet.Cells[$Worksheet.Dimension.Address+1].AutoFitColumns()
$Worksheet.Column(3).Style.Numberformat.Format = "dd/mm/yyyy";
$ExcelPackage.SaveAs($FileNameExcel)
Write-Host "CSV File $FileNameCSV converted to Excel file $FileNameExcel"
您需要通过将名称传递给构造函数来打开名为 $FileNameExcel
的 现有 文件,可能如下所示:
$ExcelPackage = New-Object OfficeOpenXml.ExcelPackage($FileNameExcel)
然后,向此工作簿添加一个新工作表,按照与当前相同的方式将 csv 加载到此新工作表中,然后再次保存工作簿。
我在 Powershell
脚本中使用 EPPlus.dll
将 csv 文件转换为 xlsx 文件,但我不知道如何在不覆盖现有数据的情况下保存文件。
我必须从 csv 文件生成新信息到 excel 文件, 但我还有其他手动创建的选项卡,我的脚本总是会覆盖它。
脚本如下所示:
$FileNameCSV = "$env:WORKSPACE/file.csv"
$FileNameExcel = "\folder\file.xlsx "
$DLLPath = "D:\EPPlus.dll"
[Reflection.Assembly]::LoadFile($DLLPath) | Out-Null
$Format = New-object -TypeName OfficeOpenXml.ExcelTextFormat
$Format.Delimiter = ","
$Format.TextQualifier = '"'
$Format.Encoding = [System.Text.Encoding]::UTF8
$Format.SkipLinesBeginning = '0'
$Format.SkipLinesEnd = '1'
$TableStyle = [OfficeOpenXml.Table.TableStyles]::Medium1
$ExcelPackage = New-Object OfficeOpenXml.ExcelPackage
$Worksheet = $ExcelPackage.Workbook.Worksheets.Add("CM")
$null=$Worksheet.Cells.LoadFromText((Get-Item $FileNameCSV),$Format,$TableStyle,$true)
$Worksheet.Cells[$Worksheet.Dimension.Address+1].AutoFitColumns()
$Worksheet.Column(3).Style.Numberformat.Format = "dd/mm/yyyy";
$ExcelPackage.SaveAs($FileNameExcel)
Write-Host "CSV File $FileNameCSV converted to Excel file $FileNameExcel"
您需要通过将名称传递给构造函数来打开名为 $FileNameExcel
的 现有 文件,可能如下所示:
$ExcelPackage = New-Object OfficeOpenXml.ExcelPackage($FileNameExcel)
然后,向此工作簿添加一个新工作表,按照与当前相同的方式将 csv 加载到此新工作表中,然后再次保存工作簿。