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

При попытке записать данные из БД в таблицу Excel прога выдает ошибку

02.12.2015, 16:11. Показов 1330. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  private void button1_Click_1(object sender, EventArgs e)
        {
            Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
            Workbook ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
            Worksheet ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
 
            ObjWorkSheet.Activate();
            for (int i = 0; i < dataSet.Tables["TAB"].Rows.Count; ++i)
            {
                for (int j = 0; j < dataSet.Tables["TAB"].Columns.Count; ++j)
                {
                    ObjExcel.Cells[i, j] = dataSet.Tables["TAB"].Rows[i][j].ToString();
                }
            }
            ObjWorkBook.SaveAs("C:\\Users\\Admin\\Desktop\\Test.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
            ObjExcel.Quit();
 
            ObjWorkBook = null;
            ObjWorkSheet = null;
            ObjExcel = null;
 
            GC.Collect();
        }
Когда нажимаю на кнопку, программа виснет и выскакивает ошибка:
Необработанное исключение типа "System.Runtime.InteropServices.COMExcep tion" в mscorlib.dll
Дополнительные сведения: Исключение из HRESULT: 0x800A03EC

Что-то я совсем не понял, где я накосячил. Необходимые библиотеки подключены.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.12.2015, 16:11
Ответы с готовыми решениями:

SQL Managment Studio 2008 выдает ошибку при попытке создать таблицу
SQL Managment Studio 2008 при попытке создать таблицу появляется ошибка: &quot;данная серверная версия не поддерживает конструирование диаграмм...

При попытке сохранить данные Access выдает ошибку аргумента
При попытке сохранить данные выдает ошибку аргумена. Если я сожму базу то 3-4 записи проходят а потом такая же канитель. База весит 2...

При попытке записать что либо на флешку от телефона micro sd, мне ultra ISO выдает ошибку
Добрый день всем.Проблема заключается в следующем, при попытке записать что либо на флешку от телефона micro sd, мне ultra ISO выдает...

3
 Аватар для Alekskas
4 / 4 / 1
Регистрация: 21.10.2015
Сообщений: 16
02.12.2015, 17:05
C#
1
2
3
ObjExcel.Quit();
ObjWorkBook = null;
ObjWorkSheet = null;
Поставь точку останова вот тут, и попробуй запустить. Увидишь где ошибка.
1
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
02.12.2015, 18:16
Сохранял так:
C#
1
2
3
4
if (Path.GetExtension(PathToSaveFile) == ".xls")
   obook1.SaveAs(PathToSaveFile, Excel.XlFileFormat.xlExcel7, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
else
  obook1.SaveAs(PathToSaveFile, Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
1
0 / 0 / 0
Регистрация: 14.11.2014
Сообщений: 4
03.12.2015, 06:19  [ТС]
Проблема решена. Ошибка просто дурацкая.
В двойном цикле индексы начинаются с 0.
Таким образом, получается, что строка:
C#
1
 ObjExcel.Cells[i, j] = dataSet.Tables["TAB"].Rows[i][j].ToString();
неверная, так как сначала идёт запись в нулевую строку и нулевой столбец экселя. А они начинаются с единицы.
C#
1
 ObjExcel.Cells[i + 1, j + 1] = dataSet.Tables["TAB"].Rows[i][j].ToString();
Вот так уже будет правильно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.12.2015, 06:19
Помогаю со студенческими работами здесь

Выдает ошибку при попытке переадресации
Вообщем вот: &lt;form method=&quot;post&quot;&gt; &lt;input type=&quot;submit&quot; name=&quot;wwas&quot;&gt; &lt;/form&gt; &lt;? if($_POST){ header(&quot;Location:...

При попытке компилировать выдает ошибку
Помогите, пожалуйста... Не получается запустить программу на C++ Builder 6.0 При попытке компилировать выдает ошибку: Error in module...

Выдает ошибку при попытке регистрации пользователя
Когда пытаюсь зарегистрировать пользователя, выдается ошибка Fatal error: Call to undefined function CleanInput() in...

При попытке использовать PIL выдает ошибку
ImportError: The _imaging C module is not installed. На самом деле, я не знаю как правильно устанавливать модули, чтобы все работало.(...

При попытке построить график выдает ошибку
Добрые вечер! Помогите с мапле 7 Выдает вот эту ошибку. Ниже ошибка и задание


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru