这种错误源于python的openpyxl和c#的某些库不能打开有问题的表格,这里的有问题指的是需要修复,某些格式字体不适配等情况,解决方法是手动打开excel文件并保存一遍即可,但是!!!如果是一两个文件尚可,可如果是上百上千文件这样子岂不累死!
批量解决此问题的方法是,用cmd或者powershell模拟人手动打开保存这个操作,使得批量处理所有文件
下面给出以一个PowerShell脚本示例
直接在PowerShell中复制粘贴运行以下脚本
$folderPath = "xxxxxxxxxxxx" # 更改为目标文件夹的路径
$excelApp = New-Object -comobject Excel.Application
$excelApp.Visible = $false # 设置为 $true 可以看到Excel窗口
Get-ChildItem -Path $folderPath -Filter *.xlsx | ForEach-Object {
$workbook = $excelApp.Workbooks.Open($_.FullName)
$workbook.Save()
$workbook.Close()
}
$excelApp.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excelApp)
这个脚本会打开指定文件夹中的所有 .xlsx 文件,对每个文件执行保存操作,然后关闭它们。
这需要一段时间,不会显性的打开excel软件关闭,但是在后台一直在不断运行excel软件。最后执行完了就完事了!!撒花~~~~