Задача: сделать большой документ Word, состоящий из множества более мелких, заполняемых по шаблону (чтобы пользователю было удобно смотреть/печатать). Каждый поддокумент должен начинаться с новой страницы, длина каждого документа (даже в страницах) заранее не известна, но ее нужно считать и выводит. … Читать далее
Архив рубрики: C#
Выбрать уже существующую таблицу внутри документа можно по ее порядковому номеру (начиная с 1 и начала документа) можно через интерфейс Tables. При этом мы получим объект типа Table Новая вставляется методом Tables.Add (предполагается что мы уже получили диапазон _currentRange того … Читать далее
Продолжение былинной саги про Office.Interop.Word. Самый простой способ вставить кусок текста в нужную часть Word-шаблона - использовать закладки. В отличие от текстовых меток закладки не надо искать, они невидимы и всегда имеют уникальное имя. Имея открытый в предыдущей части документ … Читать далее
Задача: вывести данные в документ Word. На самом деле это очень большая и необъятная тема, примерно как сам Word, 90% возможностей которого не используются обычными пользователями. Сузим до более простой и чаще встречающейся на практике задачи, с которой в своей … Читать далее
Иллюстрация к циклу заметок про работу с Microsoft Word из C#. Проект Visual Studio 2010, два класса - WordDocument и WordSelection (просто часть документа, обертка над Range), реализующие описанные приемы, тестовый шаблон и простенькое окошко, позволяющее протестировать работу классов и … Читать далее
Задача: выполнить запрос на LinQ к DataTable. Стандартная DataTable LinQ не поддерживает, но решается это затруднение очень просто, надо использовать метод AsEnumerable() из LinQ to Dataset. Таблица должна быть строго типизирована, иначе получим ошибку Specified cast is not valid. Минимальный … Читать далее
Задача: получить выбранную в данный момент строку/ячейку DataGridView и/или выбрать ее. На самом деле это одна и та же задача, если количество строк и столбцов в гриде может непредсказуемо меняться. Мы конечно можем получить выбранный столбец через свойство SelectedRows, но … Читать далее
Иногда программисту хочется чего-то удалить из коллекции. Например строку из коллекции строк DataTable. Он радостно пишет что-то в духе: и получает жестокий облом в виде ошибки с невнятным сообщением "Collection was modified; enumeration operation might not execute". … Читать далее
Два очевидных решения - сделать всплывающую подсказку или увеличить ширину самого выпадающего списка. Вычисляем максимальную длину строки в таблице-справочнике: Setting DropDown list width of DataGridView ComboBoxColumn - WinForms … Читать далее
Задача: вывести данные в таблицу Excel с красивым оформлением и открыть ее, чтобы пользователь мог напечатать или сохранить средствами самого Excel. Необходимо поддерживать все версии Office, начиная с 97, то есть вывод в новые xml-форматы Office 2007 и выше невозможен … Читать далее