Предположим, файл поврежден dbf4
. Вы можете попробовать прочитать его, используя пакет Microsoft.Office.Interop.Excel
:
Application app = new Application { Visible = false };
Workbook wb = app.Workbooks.Open(fileFullName, UpdateLinks: 0, ReadOnly: true, CorruptLoad: 1);
Worksheet ws = wb.Worksheets.Item[1];
Range r = ws.UsedRange;
object[,] va = (object[,])r.Value2;
int rowLen = va.GetLength(0);
int colLen = va.GetLength(1);
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= rowLen; i++)
{
object[] row = new object[colLen];
for (int j = 1; j <= colLen; j++)
{
row[j - 1] = va[i, j];
}
sb.AppendLine(string.Join(";", row));
}
string result = sb.ToString();
wb.Close(false, fileFullName, null);
Marshal.ReleaseComObject(wb);
app.Quit();