как сделать бд из вордовых табличек?

test100500

ситуация такая: есть система автоматического измерения крокодилов, которая генерит отчётную табличку в ворде, со временем в заголовке и самой табличке вида
номер крокодила - длина - ширина - высота.
сейчас для дальнейшей работы эти таблички копируют в эксель и сохраняют. получается, чтобы составить динамику роста одного крокодила за последние 10 дней надо открыть и закрыть 10 разных файлов.
есть ли какой-нибудь удобный инструмент по переводу этой всей херни в общую бд, чтобы получать динамику роста одним запросом?
да, дотянуться руками или ещё чем до погромиста системы нереально. а местный сисадмин с радостью даёт доступ к mysql на серваке, но напрочь отказывается делать парсер из ворда/экселя.

svetaslav212

Берешь любой инструмент потяжелее и бьешь по голове того, кто придумал автоматическую систему, генерящую отчетную табличку в ВОРДЕ! :AAAssjani:

marat7256

Сначала надо в экесль из ворда перевести. В этом основной вопрос.

salamander

Хым. Я думал у них эта проблема уже как-то решена. Если нет - то действительно, основная проблема именно в этом будет.

durka82

Ну если исходного кода системы генератора нет, тогда наверное проще всего сначала попробовать пересохранить ворд в обычный текстовый файл.
Если в текстовом файле всё будет - его и парсить.
Автосохранялку тоже проблем не должно быть сделать.
Можно конечно и через VBA, и вообще каким-нибудь сторонним автоматизатором, который будет открывать файл, выделать нужное и копировать.

Temach

ситуация такая: есть система автоматического измерения крокодилов, которая генерит отчётную табличку в ворде, со временем в заголовке и самой табличке вида номер крокодила - длина - ширина - высота.сейчас для дальнейшей работы эти таблички копируют в эксель и сохраняют. получается, чтобы составить динамику роста одного крокодила за последние 10 дней надо открыть и закрыть 10 разных файлов.есть ли какой-нибудь удобный инструмент по переводу этой всей херни в общую бд, чтобы получать динамику роста одним запросом?да, дотянуться руками или ещё чем до погромиста системы нереально. а местный сисадмин с радостью даёт доступ к mysql на серваке, но напрочь отказывается делать парсер из ворда/экселя.
так в чем проблема? бери любой батч конвертер из ворда в текст и оттуда парси парой строк на скриптовом языке

nas1234

у тебя в игноре?

carusya

Сначала надо в экесль из ворда перевести. В этом основной вопрос.
http://www.google.ru/webhp?sourceid=chrome-instant&ion=...
 Sub read_word_document()

Dim sht As Worksheet

Dim WordDoc As Word.Document
Dim WordApp As Word.Application

Set WordApp = CreateObject("Word.Application")
WordApp.Visible = False

On Error GoTo ErrHandler

Set WordDoc = WordApp.Documents.Open("Z:\mydir\myfile1.DOC", ReadOnly:=True)


j = 0
For i = 1 To WordDoc.Tables.Count
DoEvents
Dim s As String
s = WordDoc.Tables(i).Cell(1, 1).Range.Text
Debug.Print i, s
WordDoc.Tables(i).
Set sht = Sheets("temp")
'sht.Cells.Clear
sht.Cells(1, 1).Select
sht.PasteSpecial (xlPasteAll)

End If
Next i

WordDoc.Close
WordApp.Quit

GoTo done

ErrClose:
On Error Resume Next

ErrHandler:

Debug.Print Err.Description

On Error GoTo 0

done:

End Sub

durka82

Я так понял у ТС много файлов, но это вопрос добавления ещё одного цикла.

hoha32

Исходников системы что ли нету?

carusya

Естественно, это же только пример.
Работать будет не очень быстро, к сожалению - тут целиком ворд с екселем запускается(а это порядка секунд на современном компе), но зато просто, никакого парсинга вордовских документов.

hoha32

У ворда при одном открытом окне второе запускается считай мгновенно - я проверял, конвертирую пакетно ворд в html.

kill-still

+1 за VBA, или POI

alekc34

поэтому в коде нужно убрать WordApp.Quit за пределы цикла и не помешает добавить Application.ScreenUpdating = False в начале и Application.ScreenUpdating = True в конце

kill-still

добавить Application.ScreenUpdating = False в начале и Application.ScreenUpdating = True в конце
Нафига? Application.Visible = False и всё.

alekc34

ты хочешь ворд скрыть или эксель?
ворд можно скрыть, а эксель, может быть, и не стоит

kill-still

Эксель вообще в топку. Он не нужен - сразу в базу всё писать. Если нужен эксель, то любая IDE для баз данных умеет экспорт в эксель делать.

alekc34

мой комментарий относился к конкретному куску кода, приведённому выше, если что

Fimida

Тот же вопрос, но из екселевских табличек.
Можно в приват
Оставить комментарий
Имя или ник:
Комментарий: