48 / 48 / 6
Регистрация: 24.12.2009
Сообщений: 512
1

MS Office Import from text Excel

02.10.2019, 08:03. Показов 1208. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, помогите! Т.к. у меня нет Excel, не могу сам разобраться.

В общем в Excel есть ф-ия импорт. Нужно выбрать ячейку и на вкладке Data выбрать From text и указать текстовый файл.

Вопрос собсно: эти данные загружаются 1 раз? Или ячейка будет подтягивать данные из текстового файла? Т.е. если данные в текстовом файле будут меняться, будут ли меняться данные в ячейке Excel ? Если нет, то прошу указать на возможные решения проблемы. Может макрос записать можно, чтобы при запуска он обновлял данные или как ???
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.10.2019, 08:03
Ответы с готовыми решениями:

Использовать макрос (VBA Excel) в Open office либо в Libre office
Можно ли использовать макрос написанный в VBA Excel в программах OpenOffice/LibreOffice?...

Отсутствие библиотек Office.Interop.Excel и Office.Core
Добрый день! Сижу уже несколько дней с одной проблемой: Нужно доработать программу выгрузки...

COM, Excel, #import в VC++
Здравствуйте! Прошу помочь разобраться почему не пашет #import. Ситуация: Для работы с Excel...

MySQL import Excel
Добрый день,каким образом лучше импортировать таблицу например: ид, имя ,возраст в базу,таблицу...

12
SoftIce
02.10.2019, 08:09
  #2

Не по теме:

del

0
209 / 184 / 43
Регистрация: 02.08.2019
Сообщений: 586
Записей в блоге: 23
02.10.2019, 08:11 3
ilja123, Привет!

попробуй так

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
,
Public Function TXTReadALLFile(ByVal FileName As String, Optional AddFile As Boolean = True) As String
    'TXTReadALLFile - строковая переменая, возращающая содержание файла
    'FileName - строковая переменая, полный путь файла
    'AddFile - логическа переменая, по умолчанию True, если нет файла то создаст его
    
    Dim FSO    As Object
    Dim ts     As Object
    On Error Resume Next: Err.Clear
    Set FSO = CreateObject("scripting.filesystemobject")
    Set ts = FSO.OpenTextFile(FileName, 1, AddFile): TXTReadALLFile = ts.ReadAll: ts.Close
    Set ts = Nothing: Set FSO = Nothing
End Function
__________________________________________________________________
Надстройка: Macro Tools VBA – инструменты разработки макросов VBATools
1
6945 / 2849 / 549
Регистрация: 19.10.2012
Сообщений: 8,725
02.10.2019, 08:31 4
Это всё настраивается в мастере импорта, ну или можно подстроить позже в свойствах подключения.
Или можно записать макрос, в котором что-то ещё подстоить под задачу.

Добавлено через 1 минуту
Но автоматически при изменениях в тексте ничего в Экселе меняться не будет, только если это макросом отслеживать... что не просто.
0
48 / 48 / 6
Регистрация: 24.12.2009
Сообщений: 512
02.10.2019, 08:48  [ТС] 5
Цитата Сообщение от art1289 Посмотреть сообщение
попробуй так
я бы с радостью попробовал, но у меня нет Office к сожалению.
Цитата Сообщение от Hugo121 Посмотреть сообщение
Но автоматически при изменениях в тексте ничего в Экселе меняться не будет
Ох, не хотел я это услышать... Но ожидал.

Мне нужно загрузить данные из csv. У меня есть демо-версия Excel, но там почему-то работает только csv с разделителем (. Проблема, что мне нужно строго (,). Даже, если я сохраняю в Excel файл, как (Сохранить как csv с разделителем (,)) то он все равно упорно сохраняет файл с разделителем (. А разделитель (,) он не распознает и не раскладывает данные по ячейкам.

Я вот думаю, может это только в демо-версии не работает. Может в нормальном Excel он будет распознавать (,) или можно ему в настройках как-то указать, что надо по (,) парсить?

Посмотрите пожалуйста, как у Вас работает. У меня все лепит в одну строку.
Миниатюры
MS Office Import from text Excel  
Вложения
Тип файла: zip csv_Example.zip (292 байт, 2 просмотров)
0
48 / 48 / 6
Регистрация: 24.12.2009
Сообщений: 512
02.10.2019, 08:49  [ТС] 6
* вместо смайликов ТочкаЗапятая
0
6945 / 2849 / 549
Регистрация: 19.10.2012
Сообщений: 8,725
02.10.2019, 09:15 7
В мастере импорта из текста можно настроить разделитель (как в демо - не знаю).
Но для сложных csv такой импорт может не подойти - иногда в "ячейках" csv тоже бывают эти разделители, и такие файлы правильно "импортом из текста" не возьмёшь, всё поедет.
Но для простых вполне применимо.
Файл не смотрел.
0
48 / 48 / 6
Регистрация: 24.12.2009
Сообщений: 512
02.10.2019, 09:27  [ТС] 8
Цитата Сообщение от Hugo121 Посмотреть сообщение
Файл не смотрел
Ну пожааааааалуйста
0
6945 / 2849 / 549
Регистрация: 19.10.2012
Сообщений: 8,725
02.10.2019, 09:33 9
Я сейчас файл посмотреть не могу, на работе нет экселя на локальной машине.
1
48 / 48 / 6
Регистрация: 24.12.2009
Сообщений: 512
02.10.2019, 09:37  [ТС] 10
Хорошо, остановимся пока на мастере импорта. Дальше будем смотреть.
0
es geht mir gut
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
02.10.2019, 10:22 11
Может распределять данные по ячейкам "на лету" ?
Вложения
Тип файла: rar 123.rar (13.3 Кб, 1 просмотров)
0
48 / 48 / 6
Регистрация: 24.12.2009
Сообщений: 512
02.10.2019, 13:20  [ТС] 12
Цитата Сообщение от SoftIce Посмотреть сообщение
Может распределять данные по ячейкам "на лету" ?
Я не могу проверить В моей демо-версии не работают макросы.

Можно Вас попросить дать краткое описание Вашего макроса. Я передам его человеку вместе с моим csv. Пусть он попробует.
0
es geht mir gut
11272 / 4756 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
02.10.2019, 13:33 13
Цитата Сообщение от ilja123 Посмотреть сообщение
краткое описани
проще некуда.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub Main()
    Dim a, i As Integer, b, j As Integer, k As Integer
    Range("A1:F10").ClearContents  'очистка диапазона
    Open ThisWorkbook.Path & "\" & "csv_Example.csv" For Input As #1 ' открываем файл для чтения
        s = Input(LOF(1), #1) 'читаем файл в переменную
    Close #1 'закрываем файл
    a = Split(s, vbNewLine) 'разделяем на строки и записываем массив
    For i = 0 To UBound(a) 'перебираем строки
        b = Split(a(i), ",") 'разделяем строки по запятым и записываем в массив
        For j = 0 To UBound(b) 'перебираем элементы массива
        Cells(i + 1, j + 1) = b(j) 'выводим результат на лист
    Next j, i
End Sub
1
02.10.2019, 13:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.10.2019, 13:33
Помогаю со студенческими работами здесь

Import csv in Excel
Народ подскажите, как загрузить csv на страницу экселя, пишу: Workbooks.OpenText...

Import From Excel To Lotus
Народ пытаюсь вытянуть некоторые данные из Excel в Лотус.Подключаюсь с помощью ODBC драйвера,в...

Import из Excel в HTML
Доброго времени суток! По работе понадобилось на сайт написать функцию для импорта данных из excel...

Import из Excel в Delphi (Access)
Доброго времени суток. У меня такой вопрос: как делается импорт нужных данных из Excel файла ? Т.е....


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

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