Как я могу использовать Word.Interop, чтобы открыть шаблон, хранящийся в SQL Server? - PullRequest
0 голосов
/ 18 января 2012

У меня есть приложение, которое используется инженерами для отслеживания оценки качества воздуха для клиентов отрасли. Если клиенты соответствуют государственным нормативам, наши инженеры пишут им об этом письмо с большим количеством соответствующих данных, содержащихся в письме, которые вручную извлекаются из приложения. Я хочу сохранить шаблон письма в базе данных и позволить инженерам нажать кнопку, чтобы автоматически сгенерировать письмо с данными, сохраненными в базе данных, заполненными в предоставленных тегах в шаблоне.

Все это относительно легко осуществить. Одна проблема, с которой у меня возникла проблема, - это использование Word Interop для открытия шаблона, хранящегося в базе данных.

Команда:

oWord.Documents.Add(ref wordfile, ref oMissing, ref oMissing, ref oMissing);

Требуется filepath/name для первого аргумента.

Как мне направить его на открытие нового документа из шаблона, хранящегося в таблице базы данных?

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

1 Ответ

0 голосов
/ 18 января 2012

Я бы попросил приложение взять шаблон из БД и передать его во временный файл.Тогда ваше приложение может просто открыть временный файл.

Вы можете использовать функцию Path.GetTempFileName , чтобы получить временный файл для записи.Затем после создания файла и его сохранения / отправки просто очистите временный файл.

Я создал класс-оболочку с именем TemporaryFile , который можно использовать с помощью оператора using для генерациивременный файл и очистите его, когда вы закончите.Он не идеален и, вероятно, не нуждается в создаваемом мьютексе, но вы можете использовать его / модифицировать по своему усмотрению (лицензия MIT)

...