HRESULT: 0x800A03EC на рабочем листе - PullRequest
21 голосов
/ 18 августа 2011

Я получаю HRESULT: 0x800A03EC для метода Worksheet.range.Количество рядов больше 70К.Office 2007.

Код:

Microsoft.Office.Interop.Excel.Range neededRange
    = currentWS.Range[cell.Cells[1, 1], cell.Cells[nRowCount, nColumnCount]];

Здесь мой счетчик строк превышает 65530.Перерывы на эту функцию.Я заметил, что он ломается только тогда, когда количество строк превышает 65530.

Ответы [ 22 ]

1 голос
/ 23 июня 2016

Невозможно ответить / одобрить этот ответ , поэтому размещайте здесь:

Действительно, формат диапазонов источника / назначения при перемещении данных из одного диапазона в другой также может вызывать эту ошибку.

В моем случае диапазон, который я хотел скопировать, содержал столбец с форматированной датой, а столбец содержал одну ячейку с недопустимым значением даты (он даже не был отформатирован из-за значения, которое было отрицательным целым числом). Таким образом, операция копирования между двумя диапазонами остановилась в указанной ячейке, что привело к самому сообщению об ошибке, обсужденному здесь.

Решение в моем случае состояло в том, чтобы использовать Range.Value2 вместо Range.Value , что заставило Excel обойти форматирование ячейки как даты (подробнее здесь ). Однако при этом ваши столбцы даты и времени будут отображаться как целые и десятичные числа. Однако вы сможете изменить форматы на нужные, если знаете, где ожидать значения даты и времени, установив для них свойство Range / Column / Cell.NumberFormat .

0 голосов
/ 25 апреля 2018

Я решил эту проблему, используя код ниже. Пожалуйста, не используйте другие параметры в этих функциях.

mWorkBook = xlApp.Workbooks.Open(FilePath)

mWorkBook.Save();

ПОСТАНОВИЛИ

0 голосов
/ 01 декабря 2017

Этот тип ошибки также возникает, когда вы пытаетесь открыть свой лист Excel и запрашивает какое-либо сообщение об ошибке. просто вы можете сказать, когда ваш файл Excel поврежден.

0 голосов
/ 29 мая 2017

Я получил эту ошибку, потому что я пытался переименовать лист со слишком большим количеством символов

0 голосов
/ 08 сентября 2017

Я согласен с постом Хью В. «Я пришел к выводу, что один и тот же код ошибки используется для обозначения нескольких несвязанных проблем»

В других публикациях не упоминалось, что эта ошибка часто возникает, если рабочая таблица заблокирована.Хотя я не проверял каждый сценарий, кажется, что все, что вы не можете сделать в Excel, когда рабочий лист заблокирован с помощью команды throw, выдает эту ошибку, если вы пытаетесь сделать это через VSTO / Com, пока лист заблокирован.Например, изменение любого артефакта стиля (шрифт, размер шрифта, цвет, подчеркивание), изменение проверки Excel, изменение ширины столбца, высоты строки, формул

0 голосов
/ 10 марта 2017

Я получил это исключение, потому что набрал:

ws.get_Range("K:K").EntireColumn.AutoFit();
ws.get_Range("N:N").EntireColumn.AutoFit();
ws.get_Range("0:0").EntireColumn.AutoFit();

Видите ошибку? Подсказка: Excel принимает индексирование от 1, но не от 0, как в C #.

0 голосов
/ 02 февраля 2017

У меня был тот же код ошибки при выполнении следующего оператора:

sheet.QueryTables.Add("TEXT" & Path.GetFullPath(fileName), "1:1", Type.Missing)

Причиной была пропущенная точка с запятой (;) после "TEXT".

Вот правильный:

sheet.QueryTables.Add("TEXT;" & Path.GetFullPath(fileName), "1:1", Type.Missing)
0 голосов
/ 22 февраля 2015

У меня была ошибка с точным кодом, когда я пытался присвоить массив ячеек диапазону. Значение.В моем случае это была проблема с неправильным форматом данных.Формат данных ячейки был установлен как ДАТА, но пользователь допустил ошибку и вместо «20.02.2013» ввел дату «20.02.0213».COM-объект Excel отказался принимать год '0213' и выдал исключение с этой ошибкой.

0 голосов
/ 17 апреля 2019

Похоже, это довольно общая ошибка для "что-то пошло не так" с вашей попыткой. Я заметил, что это также произойдет, если у вас есть ошибка формулы и вы назначаете эту формулу в ячейку. Например. "= FUBAR ()"

0 голосов
/ 05 февраля 2016

Я также столкнулся с той же проблемой, когда разрабатывал приложение, которое экспортирует содержимое проекта в файл Excel.

Я не смог найти разрешение на форумах для своей проблемы, затем я проверяю максимальную емкость Excelи нашел ниже ссылку, которая говорит

«Размер листа 1 048 576 строк по 16 384 столбцам», и это была проблема в моем случае, я экспортировал больше, чем эти строки.Для получения подробной информации см. Ссылку ниже

http://answers.microsoft.com/en-us/office/forum/office_2013_release-excel/with-excel-2013how-many-rows-will-this-contain/271264fb-3ab8-4c5b-aa0d-7095c5ac6108

С уважением, Прашант Неве

...