Есть ли обходной путь для отсутствия поддержки XlFileFormat.xlOpenXMLWorkbook в Excel 2003?

1

Я продолжаю получать 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 действительно обязательно?

  • 0
    Для работы с Excel доступны сторонние параметры, для которых не требуется установка определенной версии Excel. Тот, который я нашел, который работает лучше всего, - EPPlus. Переписать ваш код было бы хлопотно, но библиотека проста в использовании, и вам не придется беспокоиться об отсутствии необходимости обновления до более новой версии Office.
Теги:
excel
excel-2003

1 ответ

1
Лучший ответ

Основываясь на этой ссылке и этой ссылке в базе данных MSDN, можно с уверенностью предположить, что это не поддерживается Excel 2003, а это значит, что вам нужно обновить, по крайней мере, Excel 2007.

В любом случае, xlOpenXMLWorkbook эквивалентен .xlsx. Бывают случаи, когда должно быть достаточно .xls, к которому в этом случае можно получить доступ, используя вместо этого xlWorkbookNormal. Это поддерживается в Excel 2003.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню