Ошибка при сохранении книги: System.Runtime.InteropServices.COMException: Исключение из HRESULT: 0x800A03EC - PullRequest
4 голосов
/ 11 мая 2011

Я создаю файл Excel с моим asp.net приложением.Я размещаю этот сайт на IIS7 .

Когда я запускаю его с сервера, при сохранении книги выдается ошибка.

мой код

Workbook.SaveAs(Server.MapPath("Folder") + "\\" + filename + ".xls"
, Excel.XlFileFormat.xlHtml, objOpt, objOpt, false, false
,Excel.XlSaveAsAccessMode.xlShared, false, false, objOpt, objOpt);

Я пытался решить эту проблему в течение недели.надеюсь, я найду здесь помощь

Это моя ошибка

System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800A03EC 

Я использую Office 2000, IIS7 .Я установил все разрешения.Любые предложения высоко ценятся.

Ответы [ 2 ]

2 голосов
/ 05 августа 2013

Взаимодействие не поддерживается в нескольких сценариях (например, IIS) MS .

Существует множество опций для чтения / редактирования / создания файлов Excel без Interop/ установка Excel на сервер:

MS предоставляет бесплатный OpenXML SDK V 2.0 - см. http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx (только XLSX)

Это позволяет читать + записывать файлы MS Office (включая Excel)).

Еще один бесплатный вариант: http://www.codeproject.com/KB/office/OpenXML.aspx (только XLSX)

Если вам нужно больше работать с более старыми версиями Excel (такими как XLS, не только XLSX), рендерингом, созданием PDF-файлов, формул и т. д., есть различные бесплатные и коммерческие библиотеки, такие как ClosedXML (бесплатно, только XLSX), EPPlus (бесплатно, только XLSX), Aspose.Cells , SpreadsheetGear , LibXL и Flexcel и т. Д.

0 голосов
/ 03 апреля 2012

При открытии книги вы установили для свойства «Только чтение» значение «true»?

Ниже описано, как открыть книгу с правами записи:

Microsoft.Office.Interop.Excel.Application xlApp = null;
Microsoft.Office.Interop.Excel.Workbook xlWorkBook = null;

xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Open(txtFilePath.Text, 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

Значение «false» для третьего параметра метода «xlApp.Workbooks.Open» означает, что книга не будет доступна только для чтения.

Это просто дикая догадка, так как вы не поделились кодом о том, как вы открываете книгу. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...