• Авторизация


Мучаем MS Word 06-11-2008 11:45 к комментариям - к полной версии - понравилось!


Застопорился на задаче выгрузки в Word.
Дано - шаблон документа в Word, нужно реализовать выгрузку туда как полей данных (например дата договора), так и табличных данных (например в приложении списка предлагаемых продуктов).
Нужно реализовать 2 способа, через jsscript и через asp.net, каждый для своих целей.
C jsscript повозился немного решил что вроде почти готово, надо делать на asp.net/

Сама реализация такая, делаем запрос к базе данных, возвращаем несколько наборов (один или больше). Первый это поля документа, остальные это табличные данные.
Страница асп нета показывает список доступных шаблонов (отчетов), при выборе определенного определяет данные которые надо показать, открывает шаблон пишет их туда и потом отправляет файл пользователю.

 С данными разобрался быстро, по выгрузке в документ решил что поля данных надо  вставлять как теги <#имя_поля#>, далее из текста документа вычленить все эти теги используя свойство текст документа и регулярные выражения.
С таблицами сложнее, самое лучшее что придумал это забить их заголовки заранее в шаблон, и в каждую таблицу вставить закладку. У закладки есть свойство Range, а оно содержит таблицы в которые он входит.
Как оказалось с таблицами как раз проблем никаких. А вот с заменой полей на данные фигня какая то. При попытке использовать стандартный метод Word.Find.Execute выдает COMException.
типа вот такое вылазит:
Exception Details: System.Runtime.InteropServices.COMException: Интерфейс не зарегистрирован (Exception from HRESULT: 0x80040155)

Сам код приведший к ошибке:
 Word.Find fnd = WordDoc.Content.Find;

Сколько не искал ничего не нашел нужно. Вот так в недоумении сижу и ковыряю вокруг около.

Смысл поста, класс можно определить соотношением количества времени сидения с бубном к количеству времени потраченного на код. Пока класс хреновый похоже.


 

вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Мучаем MS Word | Чарубаэль - Дневник | Лента друзей Чарубаэль / Полная версия Добавить в друзья Страницы: раньше»