LINUX.ORG.RU

История изменений

Исправление 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). Открывает текстовый файл с данными, парсит его и раскладывает данные по ячейкам. Люди не жалуются, работают с этим