数式を含む Excel ファイルがあります。数式では、サード パーティのアドインを必要とするいくつかの関数が使用されます。C# で次のコードを使用して、Excel ファイルを csv として保存しようとしています。しかし、数式フィールドはエラーとして表示されます。数式フィールドを値として保存してから csv に保存するにはどうすればよいですか。
public static void SaveExcelFileAsCsvAllSheets(string fileName)
{
var app = new Microsoft.Office.Interop.Excel.Application();
try
{
Microsoft.Office.Interop.Excel.Workbook wb = app.Workbooks.Open(fileName);
app.DisplayAlerts = false;
app.ScreenUpdating = false;
int sheetCount = 1;
foreach (Microsoft.Office.Interop.Excel.Worksheet sht in wb.Worksheets)
{
if (sht.Visible == XlSheetVisibility.xlSheetVisible)
{
sht.Select();
wb.SaveAs(Path.GetDirectoryName(fileName) + @"\" + Path.GetFileNameWithoutExtension(fileName) + "-" + sheetCount.ToString() + ".csv", Microsoft.Office.Interop.Excel.XlFileFormat.xlCSV, AccessMode: XlSaveAsAccessMode.xlNoChange);
sheetCount++;
}
}
wb.Close(false);
app.DisplayAlerts = true;
app.ScreenUpdating = true;
}
catch (Exception ex)
{
throw;
}
finally
{
app.Quit();
}
}