如何修复excel文件?

fea*_*lin 2 c# excel

我有一个excel文件,其中包含4个工作表.外部系统每天发送excel文件,我的程序读取然后将数据存储到db.我有3个文件可能已被损坏当我的程序尝试读取它给出错误"外部表不是预期的格式"的文件.当我尝试在办公室界面中打开文件时,它返回Excel Excel文件中找到不可读的内容.您要恢复此工作簿的内容吗?等等...

当我用office excel修复文件并重新保存后启动程序时,它可以工作.但我需要在程序开始读取之前修复这些文件.有办法修复办公室等excel文件吗?

我使用的是Microsoft.ACE.OLEDB.12.0;

Ser*_*maz 8

您可以使用Excel Interop打开文件并像Excel一样进行修复.但是,如果没有MS Office,您无法在计算机上使用您的程序.您可以尝试第三方库,例如:

Excel Interop的代码如下:

Missing missing = Missing.Value;
Application excel = new Application();
Workbook workbook = excel.Workbooks.Open(sourceFilePath,
    missing, missing, missing, missing, missing,
    missing, missing, missing, missing, missing,
    missing, missing, missing, XlCorruptLoad.xlRepairFile);
workbook.SaveAs(savedFile, XlFileFormat.xlWorkbookDefault,
    missing, missing, missing, missing,
    XlSaveAsAccessMode.xlExclusive, missing,
    missing, missing, missing, missing);
workbook.Close(true, missing, missing);
Run Code Online (Sandbox Code Playgroud)