Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> из Excel в Access на C# 
:(
    Опции темы
tatbesidovska
Дата 19.11.2010, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 9.4.2008

Репутация: нет
Всего: нет



Подскажите, пожалуйста! Как можно на C# реализовать такой пример

Пример:

есть текстовый файл  txt с данными, который надо перенести в базу данных:

1203 Иванов 12000
1402 сидоров 5000

в результате экспорта этих данных должна получится база с полями:


ТБН     ФИО         Сумма

1203   Иванов     12000
1402   сидоров    5000

Заранее спасибо!


PM MAIL   Вверх
MasterOfCode
Дата 19.11.2010, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Цитата(tatbesidovska @  19.11.2010,  12:06 Найти цитируемый пост)
есть текстовый файл  txt с данными, который надо перенести в базу данных:

1203 Иванов 12000
1402 сидоров 5000

в результате экспорта этих данных должна получится база с полями:


ТБН     ФИО         Сумма

1203   Иванов     12000
1402   сидоров    5000

Заранее спасибо!


Пишешь Парсер текстового файла.
Считываешь его в своей программе.
Подключаешься к БД Access
Вставляешь значения в БД.


--------------------
user posted image
PM ICQ   Вверх
Экскалупатор
Дата 19.11.2010, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 3
Всего: 24



а к чему ексель в названии указан?
PM MAIL ICQ   Вверх
tatbesidovska
Дата 19.11.2010, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 9.4.2008

Репутация: нет
Всего: нет



ой, извиняюсь, я перепутала, файл не текстовый, а xls
PM MAIL   Вверх
mrbrooks
Дата 19.11.2010, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 5
Всего: 306



Цитата(MasterOfCode @  19.11.2010,  10:11 Найти цитируемый пост)
Пишешь Парсер текстового файла.
Считываешь его в своей программе.
Подключаешься к БД Access
Вставляешь значения в БД. 

самый не продуктивный подход. в windows полным полно драйверов с помощью которых можно работать с любым удобоваримым файлом как с БД. А уж работа с  txt, xls, csv - это нынче не должно быть проблемой.  

Цитата(tatbesidovska @  19.11.2010,  13:24 Найти цитируемый пост)
ой, извиняюсь, я перепутала, файл не текстовый, а xls 

проще простого.
тыц сюды
PM MAIL   Вверх
MasterOfCode
Дата 23.11.2010, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Цитата(mrbrooks @  19.11.2010,  15:48 Найти цитируемый пост)
самый не продуктивный подход. в windows полным полно драйверов с помощью которых можно работать с любым удобоваримым файлом как с БД.

Есть стандартное решение работы с файлом такого вида:

Код

~Version
VERS.                  2.0:Version
WRAP:                   NO:wrap
~Well
well.                 1234:well number
uwi.               3211234:id
CTRY.                   01:Country
~Curve
DEPT.                     :
PS.                       :001101
IK.                       :002100
~ASCII
100.00    0.25    1.22
100.20    0.26    1.22
100.40    0.22    1.21
100.80    0.28    1.20
100.80    0.25    1.20
101.00    0.27    1.18



--------------------
user posted image
PM ICQ   Вверх
mrbrooks
Дата 23.11.2010, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 5
Всего: 306



Цитата(MasterOfCode @  23.11.2010,  13:06 Найти цитируемый пост)
Есть стандартное решение работы с файлом такого вида:

это смотря что надо делать с блоком:
Цитата

~Version
VERS.                  2.0:Version
WRAP:                   NO:wrap
~Well
well.                 1234:well number
uwi.               3211234:id
CTRY.                   01:Country
~Curve
DEPT.                     :
PS.                       :001101
IK.                       :002100
~ASCII

PM MAIL   Вверх
MasterOfCode
Дата 23.11.2010, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Цитата(mrbrooks @  23.11.2010,  15:11 Найти цитируемый пост)
это смотря что надо делать с блоком:

Этот блок, как набор параметров описания исследования. Его нужно распарсить и хранить значения, в зависимости от задач загрузить в БД или сохранить в файл. Таблица ~ASCII как значения параметров исследования приборами.

Это сообщение отредактировал(а) MasterOfCode - 23.11.2010, 13:37


--------------------
user posted image
PM ICQ   Вверх
mrbrooks
Дата 23.11.2010, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 5
Всего: 306



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

пойми - я же тебя не в чем не убеждаю и не упрекаю - хочешь писать парсеры - да ради Бога  smile 
просто я на этом деле собаку съел. был случай когда мне в БД приходилось раз в три минуты вставлять данные из шести метрового текстового файла, кстати очень схожей конструкции. в данном случае пока бы я его парсил очень могла бы возникнуть очередь. 
PM MAIL   Вверх
MasterOfCode
Дата 24.11.2010, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Цитата(mrbrooks @  23.11.2010,  17:01 Найти цитируемый пост)
в данном случае, как я понимаю, заголовок является управляющей логикой. его же ты в БД или иное хранилище не помещаешь.

Как раз помещаю. 
Я писал парсер который за доли секунд этот файл считывает. Файлы там в среднем по 2,5-3 Мб. Бывают и по 20.


--------------------
user posted image
PM ICQ   Вверх
mrbrooks
Дата 24.11.2010, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 5
Всего: 306



Цитата(MasterOfCode @  24.11.2010,  08:00 Найти цитируемый пост)
Я писал парсер который за доли секунд этот файл считывает. 

ок. в твоем случае конечно нужно не стандартное решение. но для TC вполне достаточно и стандартного. а 20 Mb текстовые файлы - это очень круто.
PM MAIL   Вверх
MasterOfCode
Дата 24.11.2010, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


elwin
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 24.4.2008
Где: World.Russia.Tyum en

Репутация: 4
Всего: 27



Цитата(mrbrooks @  24.11.2010,  10:59 Найти цитируемый пост)
а 20 Mb текстовые файлы - это очень круто. 

Такова специфика. В нефтяную скважину опускают прибор, и он снимает показания каждые 10 см. И так на протяжении 3-3,5 км. При одном исследовании могут проводить 20-25 спуск-подъемов разных приборов. И все это пишут в один файл. Вот так.
А мы потом их считывай и в БД загружай. В среднем конечно они не такие огромные, но встречаются и такие, не редко.


--------------------
user posted image
PM ICQ   Вверх
mrbrooks
Дата 24.11.2010, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 5
Всего: 306



Цитата(MasterOfCode @  24.11.2010,  09:06 Найти цитируемый пост)
А мы потом их считывай и в БД загружай. В среднем конечно они не такие огромные, но встречаются и такие, не редко. 

кстати - это стандартный костыль - для связи промышленных устройств с хранилищами данных.  smile 
хотя встречал уже девайсы которые сами могут писать в субд( либо по Ethernet, либо по Wi-Fi). хотя конечно это помогает не всегда. думаю нефтяная скважина из этой оперы.
PM MAIL   Вверх
tatbesidovska
Дата 24.11.2010, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 9.4.2008

Репутация: нет
Всего: нет



Реализовала так:

Строка подключения:
string _conn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Da​ta Source={0};Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";", _filename);

Запрос:
_command.CommandText = @"SELECT * INTO [MS Access;Database=C:\Avans\Tabel.mdb].[Tabel] FROM [Лист1$]";

Проблемка такая: Если на листе Excel были сделаны какие-то изменения, в том числе добавлялись записи, а затем эти записи очищались, а не удалялись, то при переносе в базу данных строки с очищенными данными попадают в базу со значением в поле «0», либо в базу добавляются просто пустые строчки. Как можно прописать в запросе, чтобы выборка данных из листа Excel была по диапазону, ограниченному пустыми строками и столбцами. Можно конечно сделать по определенному диапазону, например написав так:....FROM [Лист1$A1:E35], но к сожалению диапазон может каждый раз меняться.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0622 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.