本帖最后由 小白龙 于 2024-11-11 15:14 编辑
情况是这样的, 我要处理一个xls文件, 我在excel中打开时, 身份证号码一列显示的是完整的数字, 为了能让powershell处理xls, 我把xls另存成了csv文件, 处理之后, 我用下面的代码又另存为了xlsx, 但是问题来了, 在excel中打开后, 身份证号码一列, 全是科学计数法的显示, 不像原来xls那样显示完整的身份证号数字了
下面是gpt给的代码, 求路过大佬指导 | | | $csvFile = "C:\Users\Administrator\Desktop\1966\OK.csv" | | $excelFile = "C:\Users\Administrator\Desktop\1966\OK2.xlsx" | | | | | | $excel = New-Object -ComObject Excel.Application | | $excel.Visible = $false | | $excel.DisplayAlerts = $false | | | | | | $workbook = $excel.Workbooks.Open($csvFile) | | $worksheet = $workbook.Sheets.Item(1) | | | | | | $worksheet.Columns.Item(4).NumberFormat = "@" | | | | | | $workbook.SaveAs($excelFile, 51) | | | | | | $workbook.Close() | | $excel.Quit() | | | | | | [System.Runtime.Interopservices.Marshal]::ReleaseComObject($worksheet) | Out-Null | | [System.Runtime.Interopservices.Marshal]::ReleaseComObject($workbook) | Out-Null | | [System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-NullCOPY |
|