Задать формат ячейки в excel c
Введение. Решение и выбор способа связывания
Введение алиаса позволяет не только сократить количество кода при обращении к объектам, но и дает возможность использовать весь код, который мы напишем ниже, для любого способа
Рис.1. Проект решения AppWordExcel
Создадим обработчик нажатия для кнопки 1 и замкнем на него обработчики нажатия всех кнопок. Запишем следующий, общий для всех примеров, приводимых ниже, код:
В case 1 будем размещать код, в котором выполняется какое-либо действие по старту Excel и выводу информации, в case 2 - дополнительные действия и действия при закрытии приложения, в default - поместим код выхода из приложения.
Немного обособленно от этой иерархической структуры объектов находится свойство Windows объекта Excel.Application, предназначенное для управления окнами сервера Excel. Свойство Windows содержит набор объектов Window, которые имеют, в свою очередь, набор свойств и методов для управления размерами, видом, масштабом и упорядочиванием открытых окон, отображением заголовков, цветами и т.д. Эти же возможности доступны и для свойств и методов объекта Excel.Application - ActiveWindow (ссылка на активное окно). (Подробно об управлении окнами см. в параграфе "Некоторые возможности по управлению параметрами Excel").
Все эти объекты принято определять глобально для того, чтобы обеспечить доступ к ним из любой функции проекта. Определим глобально основной объект Excel.Application и, сразу, хотя он и понадобится нам значительно позже - объект Excel.Window:
Следующий код позволяет выполнять запуск Excel и его закрытие при нажатии соответственно кнопок 1 и 2.
Параграф 2. Создание рабочих книг
Вторым в иерархии объектов Excel.Application является объект Workbook. Информация об объектах Workbook хранится в виде ссылок на открытые рабочие книги в свойстве Workbooks. Книга в приложение может быть добавлена только через добавление ссылки в совокупность Workbooks, а ссылка на открытую книгу может быть получена различным образом (по имени, номеру, как ссылка на активную книгу).
Рассмотрим создание двух рабочих книг из 3х и 5ти листов.
Свойство SheetsInNewWorkbook возвращает или устанавливает количество листов, автоматически помещаемых Excel в новые рабочие книги.
Из других свойств отметим свойство TemplatesPath. С его помощью, зная имя файла шаблона, можно напрямую задавать имя шаблона (правда, в этом нет необходимости, если мы не хотим использовать, например, свой собственный шаблон). Свойство StartupPath возвращает путь к папке, которая содержит надстройки, выполняемые при запуске Excel и, хотя свойство для отображения информации нам ничего не дает, все же порой бывает необходимо найти имя файла настроек и удалить его для того, чтобы приложение работало только с собственными настройками.
Книги могут быть не только добавлены, но и закрыты. Следующие вызовы закрывают все или конкретную рабочую книгу:
Остановимся более подробно на втором методе. Его параметры:
Параграф 3. Сохранение документов
3.1. Подготовка к сохранению документов
Документы Excel можно сохранить программно и обычным для Excel способом. В любом случае перед выходом из Excel необходимо вызвать метод Quit. Если свойство Excel.Application DisplayAlerts имеет значение true, Excel предложит сохранить несохраненные данные, если после старта в документ были внесены какие либо изменения. Excel автоматически не возвращает это свойство в значение по умолчанию, поэтому его рекомендуется возвращать в исходное состояние.
Добавим в область глобального определения переменных еще две строчки, определив массив ссылок на созданные книги и на объект - конкретную книгу.
Теперь, если выйти на конкретную книгу, как показано в примере, приведенном ниже, и присвоить свойству Saved объекта Workbook значение true, Excel согласно документации не должен предлагать сохранение независимо от того, были или нет изменения в данной книге (к сожалению, это не всегда работает).
На некоторых вариациях версий Windows и Office запрос на сохранение может все равно присутствовать, хотя мы, и отключаем его в свойстве Saved.
Из примера видно, что кроме Item, у набора Workbooks, как и у всех наборов в Microsoft Office, есть свойство Count, которое возвращает число элементов в наборе (в данном случае - объектов Workbook).
Следующий вопрос, - в каком формате сохранять документ. Для получения формата открываемого документа и задания формата сохраняемого служит свойство Excel.Application DefaultSaveFormat. Свойство имеет много значений типа XlFileFormat (какие могут быть легко посмотреть в диалоговом окне "Сохранение документа" в поле "Тип файла", открыв Excel и выбрав пункт меню "Файл" | "Сохранить как").
Например, в case 1 допишем строчку:
и в окне диалога сохранения файла будет установлен тип файла "Web страница".
3.2. Сохранение документа
Для сохранения документов можно использовать методы Excel.Workbook Save и SaveAs. Метод Save сохраняет рабочую книгу в папке "Мои документы" с именами, присваиваемыми документу по умолчанию ("Книга1.xls", "Книга2.xls" . ) или в директорию и с именем под которым документ уже был сохранен.
Изменим код в case 2, на следующий и продемонстрируем пример сохранения по умолчанию:
При значении свойства DisplayAlerts=true Excel будет спрашивать - записать ли сохраняемый документ поверх существующего, при значении false - нет.
Метод SaveAs позволяет сохранить документ с указанием имени, формата файла, пароля, режим доступа и т. д. Данный метод, как и метод Save, присваивает свойству Saved значение true. Метод SaveAs имеет следующий синтаксис:
Для доступа к книге используются значение AccessMode xlShared - общая рабочая книга, xlExclusive - монопольный доступ или xlNoChange - запрет изменения режима доступа.
Параметр ConflictResolution - способ разрешения конфликтов при одновременном внесении несколькими пользователями изменений в один документ - может иметь значения: xlUserResolution - отображение диалогового окна разрешения конфликтов (параметр по умолчанию), xlLocalSessionChanges - принятие изменений, внесенных пользователем или xlOtherSessionChanges - принятие изменений, внесенных другими пользователями.
Следующий пример сохраняет открытые выше документы в формате .html и .xls, причем большинство параметров для первого документа передаются как не имеющие значения Type.Missing, для второго документа использовано паролирование и запрет изменения режима доступа (Excel.XlSaveAsAccessMode.xlNoChange):
Рис.2. Вызов документа с установленным паролем на доступ и запись
Для сохранения документа может быть использован метод SaveCopyAs, который сохраняет копию рабочей книги в файле. Следующий пример, использующий метод SaveCopyAs полностью аналогичен примеру, использующему метод SaveAs при задании всех параметров как Type.Missing.
Метод SaveAs не производит преобразование документа и, поэтому, приведенный код вместо Web страницы a.html сохранит копию xls документа (изменит только расширение).
Параграф 4. Открытие существующего документа
Для открытия существующего документа основным методом является метод Open набора Excel.Workbooks. Для открытия текстовых файлов как рабочих книг, баз данных, файлов в формате .XML, используются методы OpenText, OpenDatabase или OpenXml. Об использовании методов OpenDatabase и OpenXml речь будет вестись в других темах. В данном параграфе рассмотрим метод Open.
После выполнения предыдущего примера у нас осталось два рабочих файла a.html и a.xls, которые мы и откроем как две рабочие книги в Excel, изменив код в case 1:
Метод Open имеет много параметров. Но, большинство из них, как видно из примера, необязательны. Рассмотрим параметры метода Open:
UpdateLinks - позволяет задать способ обновления ссылок в файле. Если данный параметр не задан, то выдается запрос на указание метода обновления. Значения: 0 - не обновлять ссылки; 1 - обновлять внешние ссылки; 2 - обновлять только удаленные ссылки; 3 - обновлять все ссылки.
Format - при работе с текстовыми файлами определяет символ разделителя для полей, заносимых в различные ячейки документа. Значения параметра: 1 - символ табуляции; 2 - запятая; 3 - пробел; 4 - точка с запятой; 5 - нет разделителя; 6 - другой символ, определенный в параметре Delimiter.
Приведем еще один пример - пример открытия текстового файла с использованием метода OpenText. Метод загружает в Excel текстовый файл как рабочую книгу с одиночным листом и производит его парсинг по ячейкам листа в соответствии с параметрами.
Всем доброго дня! Выгружаю из БД столбец с числовыми значениями. Попадаются как целые, так и дробные. Вопрос - как задать формат ячейки, чтобы запятая показывалась только при наличии дробной части. Интересует как задать NumberFormat?
__________________Помощь в написании контрольных, курсовых и дипломных работ здесь
Скопировать диапазон ячеек одной книги Excel в другую книгу Excel
Из темы все ясно. Не могу разобраться никак. Можно ли открыть одну книгу, скопировать диапазон.
Форматирование ячеек Excel
Добрый день! Подскажите, как программно форматировать данные в ячейках Excel? Интересует заливка.
Копирование ячеек Excel
Доброго дня, столкнулся с проблемой, не могу понять почему выпадает исключение, собственно есть.
Формат ячейки при записи в файл Excel
Код, записывает данные из таблиц в файл Excel. В таблице есть инн, и он не корректно.
просто установкой формата - никак. такое получить - нужно проходиться по всем ячейкам и к целым применять один формат, к дробным - другой
в вашем случае все равно NumberFormat ничего не даст, т.к. вы ячейке присваиваете текст, а не число и он форматироваться не будет. Вам нужно сначала конвертировать значение в число, а уж потом устанавливать формат ячейки
Добавлено через 8 минут
Чтение значений ячеек Excel
Добрый день всем. Прошу помочь в решении задачи. В Сети много информации по работе с Excel через.
Поиск объединенных ячеек в Excel
В Excel файле есть объединенные ячейки, наряду с ними есть обычные. Объединение вертикальное. Если.
Выделение диапозона ячеек в Excel
Здравствуйте. У меня такая проблема: мне нужно выделить 5 рядом стоящих ячеек в одной строке. Когда.
Удаление со сдвигом ячеек в Excel
Как можно удалить со сдвигом при этом до первой ячейки где есть символы, вот это сдвигает один раз.
Я теряю ведущие нули, когда копирую значения из datatable на лист Excel. Это потому, что, вероятно, Excel обрабатывает значения как число вместо текста.
Как отформатировать весь столбец или каждую ячейку в виде текста? Связанный с этим вопрос, Как бросить myWorksheet.Cells[i + 2, j] чтобы показать свойство стиля в Intellisense?
отказ от ответственности: я владею SpreadsheetGear LLC
Если вы установите форматирование ячейки в Text до для добавления числового значения с начальным нулем начальный ноль сохраняется без перекоса результатов путем добавления Апострофа. При попытке вручную добавить начальное нулевое значение на лист по умолчанию в Excel, а затем преобразовать его в текст, начальный ноль удаляется. Если сначала преобразовать ячейку в текст, а затем добавить значение, это нормально. Тот же принцип применим и при программном выполнении.
перед вашей записью в Excel необходимо изменить формат:
Я недавно боролся с этой проблемой, а также, и я узнал две вещи о вышеупомянутых предложениях.
- установка numberFormatting в @ заставляет Excel выравнивать значение слева и читать его, как если бы это был текст, однако он по-прежнему усекает начальный ноль.
- добавление апострофа в начале приводит к тому, что Excel рассматривает его как текст и сохраняет ноль, а затем применяет текстовый формат по умолчанию, решая обе проблемы.
заблуждение заключается в том, что теперь у вас есть различные значения в ячейке. Fortuately, когда вы копировать/вставить или экспортировать в CSV, Апостроф не входит.
вывод: используйте Апостроф, а не numberFormatting, чтобы сохранить ведущие нули.
решение, которое работало для меня для Excel Interop:
этот код должен работать до ввод данных в Excel. Номера столбцов и строк начинается с 1.
немного больше деталей. В то время как принятый ответ со ссылкой на SpreadsheetGear выглядит почти правильно, у меня было две проблемы:
- Я не использую SpreadsheetGear. Меня интересовал обычный Excel связь через взаимодействие Excel без каких-либо 3rdparty библиотеки,
- я искал способ форматирования столбца по номеру, не используя диапазоны типа "A: A".
использовать WorkSheet.Columns.NumberFormat и string "@" вот пример:
Примечание: этот текстовый формат будет применяться для вашего листа excel отверстие!
если вы хотите, чтобы конкретный столбец применял текстовый формат, например, первый столбец, вы можете сделать это:
При заполнении листов Excel данными, никому не удаться сразу все красиво и правильно заполнить с первой попытки.
Как задать формат ячейки в Excel ?
Содержимое каждой ячейки Excel состоит из трех элементов:
- Значение: текст, числа, даты и время, логическое содержание, функции и формулы.
- Форматы: тип и цвет границ, тип и цвет заливки, способ отображения значений.
- Примечания.
Все эти три элемента совершенно не зависимы между собой. Можно задать формат ячейки и ничего в нее не записывать. Или добавить примечание в пустую и не отформатированную ячейку.
Как изменить формат ячеек в Excel 2010?
Чтобы изменить формат ячеек следует вызвать соответствующее диалоговое окно комбинацией клавиш CTRL+1(или CTRL+SHIFT+F) или из контекстного меню после нажатия правой кнопкой мышки: опция «Формат ячеек».
В данном диалоговом окне доступно 6 закладок:
- Число. Здесь задается способ отображения числовых значений.
- Выравнивание. На этой вкладке можно управлять положением текста. Причем текст можно отображать вертикально или по диагонали под любым углом. Еще обратите внимание на раздел «Отображение». Очень часто используется функция «перенос по словам».
- Шрифт. Задание стилевого оформления шрифтов, размера и цвета текста. Плюс режимы видоизменений.
- Граница. Здесь задаются стили и цвета оформления границ. Дизайн всех таблиц лучше оформлять именно здесь.
- Заливка. Название закладки говорит само за себя. Доступны для форматирования цвета, узоры и способы заливки (например, градиентом с разным направлением штрихов).
- Защита. Здесь устанавливаются параметры защиты ячеек, которые активируются только после защиты целого листа.
Какое форматирование применимо к ячейкам в Excel?
Каждая ячейка всегда имеет какой-то формат. Если не было никаких изменений, то это «Общий» формат. Он же является стандартным форматом Excel, в котором:
- числа выравниваются по правой стороне;
- текст выравнен по левой стороне;
- шрифт Colibri с высотой 11 пунктов;
- ячейка не имеет границ и заливки фона.
Удаление формата – это изменение на стандартный формат «Общий» (без границ и заливок).
Стоит отметить, что формат ячеек в отличие от их значений, нельзя удалить клавишей DELETE.
Чтобы удалить формат ячеек следует их выделить и использовать инструмент «Очистить форматы», который находится на закладке «Главная» в разделе «Редактирование».
Если желаете очистить не только формат, но и значения то выберите из выпадающего списка инструмента (ластика) опцию «Очистить все».
Как видно инструмент ластик функционально гибкий и позволяет нам сделать выбор, что удалить в ячейках:
- содержимое (то же что и клавиша DELETE);
- форматы;
- примечания;
- гиперссылки.
Опция «Очистить все» объединяет в себе все эти функции.
Удаление примечаний
Примечания, так же как и форматы не удаляются из ячейки клавишей DELETE. Примечания можно удалять двумя способами:
- Инструментом ластиком: опция «Очистить примечания».
- Кликнуть по ячейка с примечанием правой кнопкой мышки, а из появившегося контекстного меню выбрать опцию «Удалить примечание».
Примечание. Второй способ более удобный. При одновременном удалении нескольких примечаний следует предварительно выделить все их ячейки.
Читайте также: