История изменений
Исправление futurama, (текущая версия) :
Была идея выгружать csv + ods с «формулами» подтягивающими данные из csv, как из БД, но это показалось слишком сложным.
Я так делал в продакшене. Пока главный скрипт/программа делает свою работу, она (программа) в отдельный текстовый файл скидывает данные для отчета. Потом «готовый» отчет в видет report.ods с макросом (VB app). Открывает текстовый файл с данными, парсит его и раскладывает данные по ячейкам. Люди не жалуются, работают с этим
Примитивный парсер для строк типа
название,значение
if FileExists(filename) then
num = FreeFile()
open filename for input as #num
do while not eof(num)
Line Input #num, str
s=Split(str, ",")
len=UBound(s)
if s(0) = "partnumber" then
sheet.getCellByPosition(1, 6).String = s(1)
elseif s(0) = "jobrevision" then
sheet.getCellByPosition(4, 6).String = s(1)
elseif s(0) = "customer" then
sheet.getCellByPosition(1, 4).String = s(1)
elseif s(0) = "jobname" then
sheet.getCellByPosition(4, 4).String = s(1)
else
sheet.getCellByPosition(col, row).String = s(0)
sheet.getCellByPosition(col-1, row).Value = s(1)
if len >= 2 then
sheet.getCellByPosition(col-2, row).Value = s(2)
endif
if len >= 3 then
sheet.getCellByPosition(col-3, row).Value = s(3)
endif
if len >= 4 then
sheet.getCellByPosition(col-4, row).Value = s(4)
endif
sheet.getCellByPosition(col-7, row).Value = 10
row = row +1
endif
loop
close
Исходная версия futurama, :
Была идея выгружать csv + ods с «формулами» подтягивающими данные из csv, как из БД, но это показалось слишком сложным.
Я так делал в продакшене. Пока главный скрипт/программа делает свою работу, она (программа) в отдельный текстовый файл скидывает данные для отчета. Потом «готовый» отчет в видет report.ods с макросом (VB app). Открывает текстовый файл с данными, парсит его и раскладывает данные по ячейкам. Люди не жалуются, работают с этим