Реализовать класс XlsxTemplate выполняющий экспорт в Excel

Необходимо реализовать класс XlsxTemplate выполняющий экспорт в Excel.

Основными требованиями являются библиотека Qt и реализация класса без использования OLE.

Например с использованием следующей библиотеки:

https://github.com/dbzhang800/QtXlsxWriter





class XlsxTemplate

{

public:

XlsxTemplate();

~XlsxTemplate();

/*Задаёт путь к шаблону*/

SetTemplate(QString sFilename);

/*Карта с параметрами*/

SetParams(QMap mapParams);

/*Карта с таблицми*/

SetTables(QMap mapTables);

bool Run(QString sNewFilename);

QString GetLastError();

};





Алгоритм работы следующий:

Сначала передаются карты параметров и таблиц.

Затем задаётся файл шаблона.

Потом вызывается функция Run, файл шаблона копируется по пути sNewFilename и далее начинается перебор ячеек с данными.

При нахождении конструкции "" необходимо обработать её в соответствии с описанием ниже.



Разделяются 2 основных типа:



Параметр:





param=""

Замена всего значением из карты QMap mapParams.





Таблица:

Таблица описывается набором параметров



Если встречается параметр с типом begintable, значит с этой колонки начинается строка таблицы.

Параметр table задаёт название текущей таблицы с данными(ключ в карте QMap mapTables).





Параметр с типом value, работает аналогично , только берёт данные из текущей строки таблицы.

Параметр column может быть как названием колонки так и номером.





Параметр с типом endtable, означает что в этом месте заканчивается строка.



После того как найдено начало и конец строки, необходимо проверить количество строк в таблице. Если строка одна то необходимо просто заменить параметры в строке.

Если строк больше, то нужно скопировать диапазон от начала до конца строки(т.е. если строка таблицы состоит из нескольких excel строк, то необходимо скопировать их начиная не с первой колонки, а с колонки в которой расположено начало строки и до колонки в которой строка заканчивается.)

Затем заменить все параметры в строке и перейти к следующей.





replace=

Если replace=true то программа вместо копирования строки, запоминает положение параметров в строке, и просто заполняет уже готовые строки ниже.

Это необходимо в случае наличия фиксированного количества строк таблицы в шаблоне.

Скачать файл


Вид предложения: Удаленная работа (разовый заказ)
Категория: Программирование

Добавлено: 28.03.2019 в 14:51




Сделайте предложение по проекту:


Для того чтобы ответить на предложение, вам необходимо авторизоваться или зарегистрироваться на сайте


Комментарии:
Стрелец Coder    30.03.2019   10:56:36     

Обращайтесь, если проект не учебный.
Просьба, сразу выслать подробное ТЗ, а также указать:
-> Максимальные сроки;
-> Примерный бюджет или его рамки;
-> Ссылку на Ваш проект на этом сайте (чтобы сразу было понятно о чём речь).

Работаю только с предоплатой не менее 50%.
email: job-streletzcoder@yandex.ru.
В Skype добавляю сам в ходе переписки по email.
Николай Шахов    29.03.2019   17:03:29     

Здравствуйте, ознакомился с описанием проекта.
Готов помочь в реализации

Пишите
https://vk.com/nic_vladimir
Вадим Точилов    28.03.2019   20:19:30     

Доброе время суток. Работаю качественно и цены адекватны. Сейчас свободен, могу вам помочь. Пишите и все обсудим.