|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Запись из dataGridView в файл екселя |
|
|
C/C++ - Запись из dataGridView в файл екселя
|
Новый участник Сообщения: 19 |
Профиль | Отправить PM | Цитировать
Добрый день. Недавно начал учить C#, вот решил написать простенький телефонный справочник.
Все шло гладко, пока дело не дошло до сохранения в файл. 1) В чем собственно проблема: При нажатии на кнопку, которая должна была записать все в файл 1.xls, выскакивает сообщение: "Не совпадает число значений запроса и число результирующих полей." И выделяет строку "cmd.ExecuteNonQuery();" 2) Еще раз через раз выскакивает ошибка, что якобы "Процесс не может получить доступ к файлу "1.xls", так как этот файл используется другим процессом." Сам код: private void button5_Click(object sender, EventArgs e) { string fileName = "1.xls"; // путь файла System.IO.File.Copy("1.xls", fileName, true); // копируем файл, шаблон файла должен лежать рядом с *.exe (1.xls) string connectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + fileName + "';Extended Properties=Excel 8.0;"; // строка подключения using (OleDbConnection ole = new OleDbConnection(connectionString)) // используем OleDb { try { ole.Open(); for (int i = 0; i < dataGridView1.Rows.Count; i++) { var cmd = new OleDbCommand("INSERT INTO [Лист1$] VALUES ('" + dataGridView1.Rows[0].Cells[0].Value + "','" + dataGridView1.Rows[0].Cells[1].Value + "','" + dataGridView1.Rows[0].Cells[2].Value + "',' ')", ole); cmd.Connection = ole; cmd.ExecuteNonQuery(); // вставляем данные в лист1 файла - filename cmd.Dispose(); } } finally { ole.Close(); } } Строка для начала пока одна. Когда разберусь с сохранением одной строки, то тогда додумаю уже как записать и остальные. 3) Если не трудно, то подскажите, как мне из этого же файла заполнить dataGridView (обратная операция до вышеописанной). |
|
Отправлено: 19:41, 28-02-2012 |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Я думаю запрос составлен не верно, так как ты пишешь в Лист , но не указываешь в какие ячейки вставлять три свой поля.
|
Отправлено: 21:39, 28-02-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать А как указать?
|
Отправлено: 21:53, 28-02-2012 | #3 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать |
Отправлено: 22:02, 28-02-2012 | #4 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Спасибо, но я с этой темы и начал разработку своей программы. А именно с кода, предоставленного пользователем LilLoco, который отписался в той теме.
А сам автор темы говорит подключить using Microsoft.Office.Interop; using Microsoft.Office.Interop.Excel; using System.Runtime.InteropServices; Но у меня компилятор ругается при виде слова Office |
|
Последний раз редактировалось Lawrence, 28-02-2012 в 23:13. Отправлено: 22:57, 28-02-2012 | #5 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Цитата Lawrence:
|
|
Отправлено: 23:37, 28-02-2012 | #6 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Цитата ferget:
|
|
Последний раз редактировалось Lawrence, 29-02-2012 в 00:02. Отправлено: 23:42, 28-02-2012 | #7 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать там окно с закладками, перейдите на закладку NET
и там выберите Microsoft.Office.Interop.Excel; |
Отправлено: 23:59, 28-02-2012 | #8 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Цитата ferget:
Первая половина Microsoft.* Вторая половина: |
|
Последний раз редактировалось Lawrence, 29-02-2012 в 00:06. Отправлено: 00:01, 29-02-2012 | #9 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать |
Отправлено: 00:18, 29-02-2012 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Определение IP и запись в файл | aggressor_ | Программирование и базы данных | 53 | 19-02-2019 20:25 | |
Assm - [решено] Запись в файл | pogo | Программирование и базы данных | 7 | 24-11-2010 09:15 | |
C/C++ - [решено] запись в файл | Viruss | Программирование и базы данных | 3 | 05-08-2010 18:27 | |
запись в файл на Perl | koresaram | Вебмастеру | 3 | 16-03-2006 13:46 | |
файл екселя на удаленном w2kServer | fima | Хочу все знать | 3 | 21-01-2004 20:23 |
|