Как выполнить мою задачу быстрее word api c#

367
15 марта 2017, 15:49

Задача поместить диалоги вк в ворд. Макет с заказчиком сделали. Но когда я начал впихивать данные - оказалось что для моих 65к сообщений(я не особо общительный, аккаунту 3 года) потребуется от 2 до 8 часов времени. При этом возможны потери данных, при подвисании компьютера. Я создаю параграфы и наполняю их данными. По очереди, для каждого сообщения. Насколько я понимаю, потоки в этом деле не помогут, т.к. простоя не много. Может быть стоит создавать шаблон для диалога, а после давать данные? Мне почему-то кажется что это будет медленнее. Что посоветуете?

Сам же и ввел путаницу. Сообщения я уже скачал. Сформировал все в json-объект, сериализовал в строку и сохранил в текстовик. Теперь нужно данные из текстовика сунуть в ворд(с форматирование и блекджеком). Вот тут то и проблема. Word Api работает крайне медленно.

Я беру сообщение из текстовика, и сую его с нужным форматированием в ворд. Это занимает 0.1-0.5 секунды. При 65к сообщений это от 2 до 8 часов времени. Что недопустимо много. Может быть кто-нибудь подскажет какая логика будет шустрее отрабатывать?

Answer 1

Быстрее Word Interop - использовать библиотеку для генерации .docx файлов. Можно использовать как OpenXML, так и какую-нибудь другую, например NPOI, Netoffice и т.п. Минус OpenXML в сложности API. Другие библиотеки попроще. Советую посмотреть сразу на NPOI.

READ ALSO
Пересылка сообщения через Outlook

Пересылка сообщения через Outlook

пытаюсь организовать что-то на подобии шлюзав MS Outlok 2010 имеются 2 аккаунта acc1@Test1

210
JSON обработка строк

JSON обработка строк

Есть данные JSON, которые нужно перенести в базу

230
DataGrid проблемы с вертикальной прокруткой

DataGrid проблемы с вертикальной прокруткой

Добрый день, столкнулся с проблемой стандартного поведения ScrollViewer'a в DataGridВ моей таблице одна строка может занимать достаточно большой размер...

193
Как получить описание поля enum в asp.net

Как получить описание поля enum в asp.net

Есть enum содержащий определенный набор значений (state)

370