Я продолжаю получать Error 24:'Microsoft.Office.Interop.Excel.XlFileFormat' does not contain a definition for 'xlOpenXMLWorkbook'
в процедуре экспорта данных в Excel. Вот соответствующая часть моего кода:
string path = Path.GetTempFileName();
if (File.Exists(path))
File.Delete(path);
workbook.SaveAs(path, Excel.XlFileFormat.xlOpenXMLWorkbook, Type.Missing, Type.Missing, false, false,
Excel.XlSaveAsAccessMode.xlNoChange, Excel.XlSaveConflictResolution.xlLocalSessionChanges, true,
Type.Missing, Type.Missing, Type.Missing);
workbook.Close();
Я предполагаю, что я использую Excel 2003
, который не поддерживает Excel.XlFileFormat.xlOpenXMLWorkbook
, поэтому мне просто интересно, есть ли какие-либо обходные пути об этой ошибке? Или обновление Excel действительно обязательно?
Основываясь на этой ссылке и этой ссылке в базе данных MSDN, можно с уверенностью предположить, что это не поддерживается Excel 2003, а это значит, что вам нужно обновить, по крайней мере, Excel 2007.
В любом случае, xlOpenXMLWorkbook
эквивалентен .xlsx
. Бывают случаи, когда должно быть достаточно .xls
, к которому в этом случае можно получить доступ, используя вместо этого xlWorkbookNormal
. Это поддерживается в Excel 2003.