Официальный сайт студ.городка НГТУ
Программирование и БД » С# VS2005 MS_WORD 

#1  27.10.07 22:06

С# VS2005 MS_WORD

Подскажите пожалуйста, где в инете можно почитать, как генерировать документы в ворде программно в VS2005 на C#. Заранее благодарен

Offline

#2  27.10.07 23:31

Re: С# VS2005 MS_WORD

Можно через COM-объект соответствующего приложения.  Я так создавал Экселевские доки

Offline

#3  27.10.07 23:32

Re: С# VS2005 MS_WORD

МСДН читай :))))

Offline

#4  28.10.07 08:41

Re: С# VS2005 MS_WORD

хм... это  идея....
Но хотелось бы чтобы по-русски было написано, а не методом тыка как обычно))))
Есть библиотека Interop, это я знаю) как с ней работать интересно)

Offline

#5  28.10.07 11:06

Re: С# VS2005 MS_WORD

Не понимаю, зачем юзать какие-то библиотеки если есть готовый ком-объект, который всё это умеет делать? Там всё просто, создаешь ком (об этом почти в каждой книжке по шарпу написано), и вызываешь методы, которые подробно описаны в МСДН. А вот чтоб по русски было, даже не знаю... Все нормальные доки на англ. языке :)))

Offline

#6  28.10.07 11:12

Re: С# VS2005 MS_WORD

Зачем изучать как работает библиотека, если можно научиться использовать ком, доков по которому даже на русском навалом :)

Offline

#7  28.10.07 11:13

Re: С# VS2005 MS_WORD

http://www.codeproject.com/cs/miscctrl/ … ontrol.asp  Посмотри, это готовый компонент .NET который может тебе помочь :)

Offline

#8  28.10.07 11:24

Re: С# VS2005 MS_WORD

Лучше используй Crystal Reports или Reporting Services, через объектную модель ворда все очень медленно работает.

Offline

#9  28.10.07 16:10

Re: С# VS2005 MS_WORD

пример если работать с доками из под офиса (хотя есть другие подходы если важны скорость, лицензии и проч)

Код::

            //код откудато

            Microsoft.Office.Interop.Word.ApplicationClass cWordApp = null;
            cWordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
            //предоставляет доступ к текущему документу
            Microsoft.Office.Interop.Word.Document cWordDocument = null;
            cWordDocument = new Microsoft.Office.Interop.Word.DocumentClass();

            object msi = System.Reflection.Missing.Value;
            object cObject = (object)@"D:\_DOCUMENTS\Visual Studio 2005\Projects\ExperimentsStrings\DocTemplates\2007.doc"; // ссылка на готовый документ word

            //открыть готовый документ ( предполагаем что он пустой )
            cWordDocument = cWordApp.Documents.Open2000(ref cObject, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi, ref msi);
            cWordDocument.Activate(); // активизируем его
            cWordApp.Visible = true;

            //http://www.experts-exchange.com/Programming/Languages/C_Sharp/Q_20700117.html
            cWordDocument.ActiveWindow.Selection.WholeStory();
            cWordDocument.ActiveWindow.Selection.Copy();
            //wap.Visible = true;
            IDataObject data = Clipboard.GetDataObject();
            textBoxHtmtxt.Text = data.GetData(DataFormats.Text).ToString();



            Object saveChanges = Type.Missing;
            Object originalFormat = Type.Missing;
            Object routeDocument = Type.Missing;
            cWordApp.Documents.Close(ref saveChanges,
            ref originalFormat, ref routeDocument);


            //Выходим без сохранения изменений
            saveChanges = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
            originalFormat = Type.Missing;
            routeDocument = Type.Missing;
            cWordApp.Quit(ref saveChanges,
            ref originalFormat, ref routeDocument);

вот еще большаааааая статья, там подробней http://www.gotdotnet.ru/LearnDotNet/NET … 22156.aspx

еще есть doc2text_demo.zip У кого она есть со снятыми ограничениями плз поделитесь))

Исправлено drug_detei (28.10.07 16:31)

Offline

#10  01.11.07 19:23

Re: С# VS2005 MS_WORD

Всем большое спасибо!

Offline

Программирование и БД » С# VS2005 MS_WORD 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.026 сек.
Выполнено 14 запросов.