Не обновляется таблица где путь к файлу переменная

Jefreenick

Новичок
Регистрация
10.10.2012
Сообщения
21
Благодарностей
1
Баллы
3
Здравствуйте. Версия ZennoPoster 5.21.1.0.
Не работает шаблон с таблицей.
1) берётся список имён файлов (.xlsx) в переменную.
2) эта переменная в таблице в пути к файлу.
3) когда файл обработался, то все в таблице удаляется, дальше берется следующий.
Но при подсчёте количества строк в таблице или взять ячейку, в таблице ничего нет.
Работает только когда открываю и редактирую эту таблицу, поставлю галочку или разделитель, то получается она обновляется и снова до следующего файла работает.
Файлов очень много. Нужно взять все строки из столбца "A" и сохранить в .txt с таким же именем. Что не так делаю с таблицей? Может есть другой способ?
 
Последнее редактирование:
Регистрация
12.07.2014
Сообщения
916
Благодарностей
372
Баллы
63
"Операция над таблицей"
"Привязать к файлу"
Пробовали?
 
  • Спасибо
Реакции: Jefreenick

TwistDanceR

Client
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
Здравствуйте.
Есть другой способ через C#. Логика такова:
1) Берешь имя директории
2) Делаешь цикл для каждого файла

Код:
List<string> list = Directory.GetFiles("путь к директории формата string").ToList();//напр "C:\\моя-папка\мой-каталог\мои-правила". кладутся они в лист имени list.
for(int i=0;i<list.Count;i++) //на всю высоту списка для каждого элемента
    {
    var table = System.IO.File.ReadAllText(list[i]); //прочитал файл номер i циклом
    List<string> kolonka = table.GetColumn(0).ToList(); // взял колонку в список
    System.IO.File.WriteAllText("путь к сохраняемому файлу формата.txt",kolonka,Encoding.UTF8); //если такого файла нет - он создается с именем. Имя я думаю сам догадаешься как указать.
    }
Если через кубики - предыдущий оратор прав. Функция Bind (привязать к файлу) должна выполняться каждый цикл. Примерно та же логика: Директории->Список Файлов->Взять строку номер 1(циклом по очереди или с удалением)->Привязать Таблицу к файлу из Списка Файлов->Взять нужную колонку и сохранить в другой лист с именем которое хочется.

P.S. Надеюсь, что объяснять как переводить имя файлов .xlsx в .txt не потребуется. Удачи.
 
  • Спасибо
Реакции: Jefreenick

Jefreenick

Новичок
Регистрация
10.10.2012
Сообщения
21
Благодарностей
1
Баллы
3

Jefreenick

Новичок
Регистрация
10.10.2012
Сообщения
21
Благодарностей
1
Баллы
3
Здравствуйте.
Есть другой способ через C#. Логика такова:
1) Берешь имя директории
2) Делаешь цикл для каждого файла

Код:
List<string> list = Directory.GetFiles("путь к директории формата string").ToList();//напр "C:\\моя-папка\мой-каталог\мои-правила". кладутся они в лист имени list.
for(int i=0;i<list.Count;i++) //на всю высоту списка для каждого элемента
    {
    var table = System.IO.File.ReadAllText(list[i]); //прочитал файл номер i циклом
    List<string> kolonka = table.GetColumn(0).ToList(); // взял колонку в список
    System.IO.File.WriteAllText("путь к сохраняемому файлу формата.txt",kolonka,Encoding.UTF8); //если такого файла нет - он создается с именем. Имя я думаю сам догадаешься как указать.
    }
Если через кубики - предыдущий оратор прав. Функция Bind (привязать к файлу) должна выполняться каждый цикл. Примерно та же логика: Директории->Список Файлов->Взять строку номер 1(циклом по очереди или с удалением)->Привязать Таблицу к файлу из Списка Файлов->Взять нужную колонку и сохранить в другой лист с именем которое хочется.

P.S. Надеюсь, что объяснять как переводить имя файлов .xlsx в .txt не потребуется. Удачи.
Спасибо, всё понял, попробую сделать, тут явно быстрее. :-)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)