Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/112: Рейтинг темы: голосов - 112, средняя оценка - 4.97
3 / 3 / 1
Регистрация: 27.11.2010
Сообщений: 161
1

Записать данные из TextBox в ячейку Excel

24.02.2012, 20:00. Показов 21633. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Нужна ваша помощь. Есть в форме текстбокс и кнопка и есть экселовский файл. Как при нажатии на этой кнопку изменить значение ячейки A1 в таблице эксель?

Заранее Спасибо
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2012, 20:00
Ответы с готовыми решениями:

Excel записать данные в ячейку
Всем доброго времени суток. Есть тлф справочник который надо немного подредактировать, а именно...

Записать в файл Excel данные с textBox-ов form
Есть приложение. Что то похоже на вопрос-ответ. Играют два игрока. В конце игры показывается их...

Записать значение в ячейку DataGridView из TextBox
Кто то может объяснить как работает DataGridView и как ее можно связать с textbox1. У меня...

Добавление текста из TextBox в ячейку EXCEL
Имеется файл с несколькими листами. Так же есть TextBox. Как сделать что бы программа определяла в...

15
192 / 147 / 27
Регистрация: 02.05.2011
Сообщений: 467
24.02.2012, 20:06 2
http://wladm.narod.ru/C_Sharp/comexcel.html

Google в помощь

Ещё могу сказать, что можно сохранять документ Excel в формате .csv, тогда открыть его в С# можно будет как обычный текстовый файл, а тоесть использовать потоки. При таком формате "," разделяют значения по столбцам а ";" по строкам
1
3 / 3 / 1
Регистрация: 27.11.2010
Сообщений: 161
10.03.2012, 13:18  [ТС] 3
Как открыть существующий документ и записать на конкретную ячейку с текстбокса я сумел сделать. Возник вопрос:Есть документ в нем есть 3 sheets. Как записать данные в ячейку A1 например в второй лиcт?
0
6287 / 3570 / 900
Регистрация: 28.10.2010
Сообщений: 5,937
10.03.2012, 13:28 4
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using Excel = Microsoft.Office.Interop.Excel;
using System.Windows.Forms;
 
class Program
{
    [STAThread]
    static void Main(string[] args)
    {
        OpenFileDialog dialog = new OpenFileDialog {
            Filter = "Файлы Excel |*.xlsx"
        };
        if (dialog.ShowDialog() == DialogResult.OK)
        {
            Excel.Application app = new Excel.Application();
            app.Workbooks.Open(dialog.FileName);
            Excel.Workbook book = app.ActiveWorkbook;
            for (int i = 1; i <= book.Worksheets.Count; i++)
            {
                Excel.Worksheet sheet = (Excel.Worksheet)book.Worksheets[i];
                sheet.Cells[1, 1] = "Текст";
            }
            book.Save();
            app.Quit();
        }
    }
}
1
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
10.03.2012, 13:36 5
здесь все расписано!
0
31 / 31 / 5
Регистрация: 05.01.2011
Сообщений: 65
10.03.2012, 19:51 6
Я вот тож недавно разбирался, и в результате сделал как в этой СТАТЬЕ. Прога мелкая, библиотеку с собой таскать не нужно.
С "using Excel = Microsoft.Office.Interop.Excel" оно канеш удобнее гораздо, но над с собой таскать эту самую Microsoft.Office.Interop.Excel.dll (Или мож я чего не доглядел и можно как-то ее с собой не таскать?), а если ее в EXE-шнике хранить и распаковывать при необходимости то она потом не удаляется т.к. до победного не выгружается из проги.

З.Ы.: Может есть еще какой способ подгружать ее пи помощи LoadLibrary и выгружать потом с помощью FreeLibrary? Или как-то с помощью Assembly.LoadFrom, но тут я ваще ниче не вкурил пока.
0
3 / 3 / 1
Регистрация: 27.11.2010
Сообщений: 161
11.03.2012, 13:40  [ТС] 7
Возвращаюсь к вопросу т.к все еще не понял как его решить
Есть документ в нем есть 3 sheets. Как записать данные в ячейку A1 например в лиcт с названием Лист2?
.
Заранее спасибо
0
1 / 1 / 1
Регистрация: 09.12.2013
Сообщений: 20
31.03.2014, 19:35 8
Цитата Сообщение от karakalpak Посмотреть сообщение
Возвращаюсь к вопросу т.к все еще не понял как его решить
Есть документ в нем есть 3 sheets. Как записать данные в ячейку A1 например в лиcт с названием Лист2?
.
Заранее спасибо
Нужно просто получить ссылку на массив элементов нужного листа
C#
1
sheet = (Excel.Worksheet)sheet.get_Item(i); //Где i, номер необходимого листа.
Вроде так.

Ну а дальше уже записываем данные в клетку
C#
1
2
Сell=sheet.get_Range("A1",Type.Missing);
Сell.value2 = "Текст";
0
0 / 0 / 0
Регистрация: 19.06.2013
Сообщений: 11
28.05.2014, 14:56 9
Товарищи, а такой вопрос? Можно ли взаимодействовать с приложениями Microsoft Office из Visual Studio Express Edition? Попытался применить кусочек кода из статьи, приведенной Single Feniks, но приложение Excel так и не запустилось, только часики немножко помаячили
0
1 / 1 / 1
Регистрация: 09.12.2013
Сообщений: 20
28.05.2014, 15:10 10
Ограничений во взаимодействий не заметил. Необходим только установленный Excel для подключения COM библиотеки к проекту. Дебагер ошибку выдает?
0
0 / 0 / 0
Регистрация: 19.06.2013
Сообщений: 11
28.05.2014, 15:26 11
Не, ошибок не выдает, все ровнёхонько.
Excel 2007.
Ось XP SP2.
Среда MS Visual Studio 2008 Express.

Может реестр чудит...?
0
1 / 1 / 1
Регистрация: 09.12.2013
Сообщений: 20
28.05.2014, 16:52 12
А код можно посмотреть?
0
0 / 0 / 0
Регистрация: 19.06.2013
Сообщений: 11
29.05.2014, 12:20 13
Конечно! Вычеркнув все лишнее в сухом остатке такая конструкция. Ну разве что заранее прошу извинить, что не на шарпе, а на с++, но различия, я полагаю, минимальны. И еще в отличие от примера с запуском Excel, здесь поменяно на Word, но сути дела не меняет - и там, и тут при выполнении кода вылазят "часики" и больше ничего

C++
1
2
3
4
5
6
private: System::Void button3_Click(System::Object^  sender, System::EventArgs^  e) {
            
         String^ sAppProgID = "Word.Application";
         Type^ tWordObj = Type::GetTypeFromProgID(sAppProgID);
         Object^ oWord=Activator::CreateInstance(tWordObj);
         }
Добавлено через 54 минуты
...и заранее предвидя комментарии насчет пространств имен - все необходимые using namespace подключены
0
1 / 1 / 1
Регистрация: 09.12.2013
Сообщений: 20
29.05.2014, 13:16 14
Ух, С++ для меня прошел стороной, постараюсь помочь.
В обозревателе решений ссылки на Word и офис добавлены? В С# без этих ссылок не может работать с экселем.
А с синтаксисом языка помочь не смогу.
1
0 / 0 / 0
Регистрация: 19.06.2013
Сообщений: 11
29.05.2014, 13:21 15
А вот этого я не знал...сейчас будем посмотреть как тут у нас ссылки добавляются. Спасибо, Stratum!
0
0 / 0 / 0
Регистрация: 28.01.2010
Сообщений: 16
15.02.2016, 10:49 16
при создании объекта приложения
Код
Excel.Application app = new Excel.Application();
необходимо дописать ещё 1 строку, чтобы оно было видно не только в диспетчере задач, но и показывалось на экране
Код
app.Visible = true;
0
15.02.2016, 10:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2016, 10:49
Помогаю со студенческими работами здесь

Перенос текста из TextBox в ячейку Excel
Проблема такая, TextBox многострочный, если присваивать значение ячейке листа EXCEL преносы строки...

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

Копирование текста из TextBox в ячейку таблицы Excel
Добрый день. Есть две задачи: 1) Скопировать любой текст из ячейки F4 в поле формы TextBox1...

Программно записать формулу в ячейку Excel
Необходимо из программы добавить в ячейку Excel формулу. К примеру в ячейку C3 вставить формулу...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru