Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 13.09.2020
Сообщений: 3

Ошибка при повторной сортировке базы данных excel. (Ошибка 0x800A03EC)

16.09.2020, 18:39. Показов 1395. Ответов 1

Студворк — интернет-сервис помощи студентам
Всем здравствуйте. Пишу программку, которая записывает, считывает и всячески работает с определённой базой данных excel.
Вообщем, наковырял я где-то в инете такой кусок кода по сортировке значений базы данных.

C#
1
2
3
4
5
6
7
                Microsoft.Office.Interop.Excel.Range range = worksheet.get_Range("A2", "UI" + InProg.UsedRows + 1);
                Microsoft.Office.Interop.Excel.Range rangeKey = worksheet.get_Range("C2:C" + InProg.UsedRows + 1);
                worksheet.Sort.SortFields.Add(rangeKey);
                worksheet.Sort.SetRange(range);
                worksheet.Sort.Orientation = Microsoft.Office.Interop.Excel.XlSortOrientation.xlSortColumns;
                worksheet.Sort.SortMethod = Microsoft.Office.Interop.Excel.XlSortMethod.xlPinYin;
                worksheet.Sort.Apply();
На "InProg.UsedRows" не обращайте внимание, в эту переменную(int) при загрузке программы записывается кол-во использованных строк в базе.
Первую строку в базе трогать не надо, так как в ней записаны названия столбцов(с A1 до UI1).

Короче проблема в том, что сортирует этот алгоритм то отлично, но вот при повторной сортировке (после того, как уже применил данный алгоритм и сохранил), вылезает ошибка: System.Runtime.InteropServices.COMExcept ion: "Исключение из HRESULT: 0x800A03EC" и с базой невозможно работать пока не зайдёшь вручную в сам файл и не восстановишь его (при этом при входе excel пишет вот что: "Удаленные записи: Сортировка из части /xl/worksheets/sheet1.xml").
Никак не могу понять, как исправить данный баттхёрт
Заранее спасибо за помощь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.09.2020, 18:39
Ответы с готовыми решениями:

При чтении данных из экселя возникает ошибка HRESULT: 0x800A03EC
Код такой: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using...

при загрузке данных из Exel возникает ошибка: Исключение из HRESULT: 0x800A03EC COMException
Вот код: Dim x As Object nomer = 1 Dim Exc As Object = CreateObject("Excel.Application") ...

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

1
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
16.09.2020, 22:46
Исправить его можно, лишь устранив косяк в коде, после которого сортировка в старой области становится невозможной.
А для этого нужно написать макрос в самом экселе, протестировать его многократно, и только после этого отлаженный код Basic ретранслировать в interop.

А в целом у Вас абсолютно неверный подход. Дело в том, что Вы смешиваете хранение и представление данных.
Нужно, чтобы было хранилище данных (база данных) на одном из листов Excel, а результаты сортировки выводить в аналогично размеченную таблицу на другой лист. Первый лист (с БД) можно вообще спрятать, а при открытии книги сразу делать простое копирование - тогда у Вас будет имитация исходного состояния БД и по кнопке будете запускать тот самый алгоритм сортировки. Хоть милльон раз
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2020, 22:46
Помогаю со студенческими работами здесь

Исключение из HRESULT: 0x800A03EC При загрузке данных из Excel
При загрузке данных в таблицу excel возникает эта ошибка Необработанное исключение типа...

При открытии базы данных FoxPro в приложение Delphi возникает ошибка драйвера внешней базы данных (8961)
При открытии базы данных FoxPro в приложение Delphi возникает ошибка драйвера внешней базы данных (8961) Код программы такой unit...

Ошибка при повторной компиляции Marlin_MC3_11062014
Здравствуйте, друзья! Примите несмышлёного новичка в свой круг. Я в тупике. Помогите выбраться. Я взялся за редактирование текста...

Ошибка при повторной установке CorelDraw X8
Доброго времени суток. Столкнулся со следующей проблемой при повторной установке КореХ8 на ПК, ранее была установлена офф версия с месячным...

Ошибка при попытке повторной загрузки картинки
Здравствуйте. uses system, system.Drawing, graphABC; var p: picture; b: bitmap; begin


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru