[identity profile] jgbobby.livejournal.com posting in [community profile] useful_faq
Камрады!

Помогите решить задачку:

Есть таблица эксель, состоящая из 5-10 тысяч записей. Всего одно поле.

Нужно:
экспортировать эту таблицу в .txt файлы, но разбивая список на куски по 50 записей. Т.е. таблица эксель с 5000 записей должна превратиться в 100 текстовых файлов (названия желательно по счету) по 50 записей в каждом.

Как реализовать максимально автоматизированно?

Была мысль создать поле с № строки, и потом както копировать записи по номеру строки от 0 до 50, от 51 до 100 и т.д. в новые листы и потом их экспортировать в текстовый файл. Но всеравно много открытых вопросов.

Буду признателен за помощь
Спасибо

Date: 2009-04-19 09:15 pm (UTC)
From: [identity profile] chabapok.livejournal.com
я бы портировал в обычный одни файл, а потом взял бы обычный досовый борланд си и при помощи простой проги сделал бы такую манипуляцию.

Date: 2009-04-19 09:22 pm (UTC)
From: [identity profile] smarty-man.livejournal.com
написать макрос, где выделяются первые 50, копируются, сохраняются в txt, потом удаляются, зациклить его, и все готово) осталось с именами файлов что-то придумать

А не быстрее ручками?

Date: 2009-04-20 03:38 am (UTC)
From: [identity profile] matholimp.livejournal.com
Отрывать по куску на отдельные листы.

Date: 2009-04-19 09:28 pm (UTC)
From: [identity profile] n0mad-sexhex.livejournal.com
Sub get50()
fPath = "D:\"
For i = 1 To 500 Step 50
s = ""
For j = 0 To 49
s = s & Cells(i + j, 1).Value & vbCrLf
Next j
CreateFile fPath & i & ".txt", s
Next i
End Sub
Sub CreateFile(file, Str)
Dim fs, a
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(file, True)
a.WriteLine (Str)
a.Close
End Sub

Date: 2009-04-19 09:46 pm (UTC)
From: [identity profile] n0mad-sexhex.livejournal.com
это ессно чисто демка, накорябанная за 30 сек. на коленке, иллюстрирующая общий подход.
блок-схема:
1). крутимся по столбцу с шагом 50,
2). внутри вложен цикл для каждой из текущих 50 записей, набиваем строку значениями ячеек через перевод строки,
3). генерим имя файла, пишем набитую строку в файл
возвращаемся к 1).

вместо 500 подставьте свою переменную, вместо удинички в Cells(i + j, 1) — номер своего столбца, вместо fPath — свой желаемый путь для файлов на выходе; если нужны другие имена для файлов — их несложно сгенерить по любой желаемой маске

Date: 2009-04-20 12:08 am (UTC)
From: [identity profile] hottabych.livejournal.com
csv + python

Date: 2009-04-20 06:40 am (UTC)
From: [identity profile] xytop.livejournal.com
я могу предлоржить путь сложнее!

Date: 2009-04-20 06:47 am (UTC)
From: [identity profile] hottabych.livejournal.com
не сомневаюсь