Как писать в Excel
Обновлено: 21.11.2024
Обе библиотеки могут использоваться для динамического чтения, записи и изменения содержимого электронной таблицы Excel и обеспечивают эффективный способ интеграции Microsoft Excel в приложение Java.
2. Зависимости Maven
Для начала нам нужно добавить следующие зависимости в наш файл pom.xml:
Последние версии poi-ooxml и jxls-jexcel можно загрузить с Maven Central.
3. Точка интереса Apache
Библиотека Apache POI поддерживает файлы .xls и .xlsx и является более сложной библиотекой, чем другие библиотеки Java для работы с файлами Excel.
Он предоставляет интерфейс Workbook для моделирования файла Excel, а также Лист, Строка и Cell интерфейсы, моделирующие элементы файла Excel, а также реализации каждого интерфейса для файлов обоих форматов.
При работе с более новым форматом файла .xlsx мы будем использовать XSSFWorkbook, XSSFSheet, XSSFRow и XSSFCell классы.
Для работы со старым форматом .xls мы используем HSSFWorkbook, HSSFSheet, HSSFrow и < em>классы HSSFCell.
3.1. Чтение из Excel
Давайте создадим метод, который открывает файл .xlsx, а затем считывает содержимое с первого листа файла.
Способ чтения содержимого ячейки зависит от типа данных в ячейке. Тип содержимого ячейки можно определить с помощью метода getCellType() интерфейса Cell.
Сначала давайте откроем файл из заданного места:
Далее извлечем первый лист файла и пройдемся по каждой строке:
У Apache POI есть разные методы чтения каждого типа данных. Давайте расширим содержание каждого случая переключателя выше.
Если значение перечисления типа ячейки равно STRING, содержимое будет считано с помощью метода getRichStringCellValue() интерфейса Cell: р>
Ячейки с типом содержимого NUMERIC могут содержать дату или число и читаются следующим образом:
Для значений BOOLEAN у нас есть метод getBooleanCellValue():
И когда тип ячейки FORMULA, мы можем использовать метод getCellFormula():
3.2. Запись в Excel
Apache POI использует те же интерфейсы, что и в предыдущем разделе, для записи в файл Excel и имеет лучшую поддержку стилей, чем JExcel.
Давайте создадим метод, который записывает список людей на лист с названием "Люди".
Сначала мы создадим и настроим строку заголовка, содержащую ячейки Имя и Возраст:
Далее напишем содержимое таблицы другим стилем:
Наконец, давайте запишем содержимое в файл temp.xlsx в текущем каталоге и закроем книгу:
Давайте проверим приведенные выше методы в тесте JUnit, который записывает содержимое в файл temp.xlsx, а затем читает тот же файл, чтобы убедиться, что он содержит написанный нами текст. :
4. JExcel
Библиотека JExcel – это облегченная библиотека, преимуществом которой является то, что ее проще использовать, чем Apache POI, но недостатком является поддержка обработки файлов Excel только в формате .xls (1997–2003 гг.). ) формат.
В настоящее время файлы .xlsx не поддерживаются.
4.1. Чтение из Excel
Для работы с файлами Excel эта библиотека предоставляет ряд классов, представляющих различные части файла Excel. Класс Workbook представляет всю коллекцию листов. Класс Sheet представляет один лист, а класс Cell представляет одну ячейку электронной таблицы.
Давайте напишем метод, который создает книгу из указанного файла Excel, получает первый лист файла, затем просматривает его содержимое и добавляет каждую строку в HashMap:
4.2. Запись в Excel
Для записи в файл Excel библиотека JExcel предлагает классы, аналогичные использованным выше, которые моделируют файл электронной таблицы: WritableWorkbook, WritableSheet и WritableCell. .
Класс WritableCell имеет подклассы, соответствующие различным типам записываемого контента: Label, DateTime, Number< /em>, логическое значение, пустое и формула.
Эта библиотека также обеспечивает поддержку базового форматирования, например управление шрифтом, цветом и шириной ячейки.
Давайте напишем метод, который создает книгу с именем temp.xls в текущем каталоге, а затем записывает то же содержимое, что и в разделе Apache POI.
Сначала создадим книгу:
Далее создадим первый лист и напишем заголовок файла Excel, содержащий ячейки Имя и Возраст:
Давайте в новом стиле напишем содержимое созданной нами таблицы:
Очень важно не забывать записывать в файл и закрывать его в конце, чтобы его могли использовать другие процессы, используя write() и close() методы класса Workbook:
5. Заключение
В этой статье показано, как использовать API Apache POI и API JExcel для чтения и записи файла Excel из программы Java.
Полный исходный код этой статьи можно найти в проекте GitHub.
У вас есть несколько вариантов ввода данных вручную в Excel. Вы можете вводить данные в одну ячейку, в несколько ячеек одновременно или сразу на несколько листов. Вводимые данные могут быть числами, текстом, датами или временем. Вы можете форматировать данные различными способами. Кроме того, есть несколько параметров, которые можно изменить, чтобы упростить ввод данных.
В этом разделе не объясняется, как использовать форму данных для ввода данных на лист. Дополнительные сведения о работе с формами данных см. в разделе Добавление, изменение, поиск и удаление строк с помощью формы данных.
Важно! Если вы не можете вводить или редактировать данные на листе, возможно, он был защищен вами или кем-то другим для предотвращения случайного изменения данных. На защищенном листе вы можете выбирать ячейки для просмотра данных, но вы не сможете вводить информацию в заблокированные ячейки. В большинстве случаев не следует снимать защиту с рабочего листа, если у вас нет на это разрешения от лица, создавшего его. Чтобы снять защиту листа, нажмите «Снять защиту листа» в группе «Изменения» на вкладке «Рецензирование». Если при применении защиты рабочего листа был установлен пароль, необходимо сначала ввести этот пароль, чтобы снять защиту с рабочего листа.
На листе щелкните ячейку.
Введите цифры или текст, которые вы хотите ввести, а затем нажмите клавишу ВВОД или TAB.
Чтобы ввести данные в новую строку внутри ячейки, введите разрыв строки, нажав ALT+ВВОД.
На вкладке "Файл" нажмите "Параметры".
Только в Excel 2007: нажмите кнопку Microsoft Office , а затем щелкните Параметры Excel.
Нажмите "Дополнительно", а затем в разделе "Параметры редактирования" установите флажок "Автоматически вставлять десятичную точку".
В поле "Места" введите положительное число для цифр справа от десятичной точки или отрицательное число для цифр слева от десятичной точки.
Например, если вы введете 3 в поле "Места", а затем введете 2834 в ячейку, значение будет отображаться как 2,834. Если вы введете -3 в поле Places, а затем наберете 283, значение будет 283000.
На листе щелкните ячейку и введите нужное число.
Данные, которые вы вводили в ячейки до выбора параметра "Фиксированное десятичное число", не затрагиваются.
Чтобы временно переопределить параметр "Фиксированное десятичное число", введите десятичную точку при вводе числа.
На листе щелкните ячейку.
Введите дату или время следующим образом:
Чтобы ввести дату, используйте косую черту или дефис для разделения частей даты; например, введите 5 сентября 2002 г. или 5 сентября 2002 г.
Чтобы ввести время в 12-часовом формате, введите время, затем пробел, а затем введите a или p после времени; например, 9 часов вечера. В противном случае Excel вводит время как AM.
Чтобы ввести текущую дату и время, нажмите Ctrl+Shift+; (точка с запятой).
Чтобы ввести дату или время, которые останутся текущими при повторном открытии листа, вы можете использовать функции СЕГОДНЯ и СЕЙЧАС.
Когда вы вводите дату или время в ячейку, они отображаются либо в формате даты или времени по умолчанию для вашего компьютера, либо в формате, который применялся к ячейке до ввода даты или времени. Формат даты или времени по умолчанию основан на настройках даты и времени в диалоговом окне «Язык и региональные стандарты» («Панель управления», «Часы», «Язык» и «Регион»). Если эти настройки на вашем компьютере были изменены, даты и время в ваших книгах, которые не были отформатированы с помощью команды «Формат ячеек», отображаются в соответствии с этими настройками.
Выберите ячейки, в которые вы хотите ввести одинаковые данные. Ячейки не обязательно должны быть смежными.
В активной ячейке введите данные и нажмите Ctrl+Enter.
Вы также можете ввести одни и те же данные в несколько ячеек, используя маркер заполнения для автоматического заполнения данных в ячейках листа.
Сделав несколько рабочих листов активными одновременно, вы можете вводить новые данные или изменять существующие данные на одном из рабочих листов, и изменения применяются к одним и тем же ячейкам на всех выбранных рабочих листах.
Перейдите на вкладку первого рабочего листа, содержащего данные, которые вы хотите изменить. Затем, удерживая нажатой клавишу Ctrl, щелкайте вкладки других рабочих листов, в которых вы хотите синхронизировать данные.
Примечание. Если вы не видите нужную вкладку рабочего листа, нажимайте кнопки прокрутки вкладок, чтобы найти лист, а затем щелкните его вкладку.Если вы по-прежнему не можете найти нужные вкладки рабочего листа, возможно, вам придется развернуть окно документа.
На активном листе выберите ячейку или диапазон, в котором вы хотите изменить существующие или ввести новые данные.
В активной ячейке введите новые данные или отредактируйте существующие данные, а затем нажмите клавишу ВВОД или Tab, чтобы переместить выделение в следующую ячейку.
Изменения применяются ко всем выбранным вами листам.
Повторяйте предыдущий шаг, пока не закончите ввод или редактирование данных.
Чтобы отменить выбор нескольких рабочих листов, щелкните любой невыбранный рабочий лист. Если невыбранный лист не отображается, можно щелкнуть правой кнопкой мыши вкладку выбранного листа и выбрать команду Разгруппировать листы.
Когда вы вводите или редактируете данные, изменения затрагивают все выбранные рабочие листы и могут непреднамеренно заменить данные, которые вы не хотели изменять. Чтобы избежать этого, вы можете просматривать все рабочие листы одновременно, чтобы выявить потенциальные конфликты данных.
На вкладке "Вид" в группе "Окно" нажмите "Новое окно".
Переключитесь в новое окно и щелкните лист, который хотите просмотреть.
Повторите шаги 1 и 2 для каждого рабочего листа, который вы хотите просмотреть.
На вкладке "Вид" в группе "Окно" нажмите "Упорядочить все", а затем выберите нужный вариант.
Чтобы просматривать рабочие листы только в активной книге, в диалоговом окне "Упорядочить окна" установите флажок "Окна активной книги".
В Excel есть несколько параметров, которые можно изменить, чтобы упростить ввод данных вручную. Некоторые изменения влияют на все книги, некоторые — на весь лист, а некоторые — только на указанные вами ячейки.
Изменить направление клавиши Enter
Когда вы нажимаете Tab для ввода данных в несколько ячеек подряд, а затем нажимаете Enter в конце этой строки, по умолчанию выбор перемещается в начало следующей строки.
Нажатие Enter перемещает выделение на одну ячейку вниз, а нажатие Tab перемещает выделение на одну ячейку вправо. Вы не можете изменить направление перемещения для клавиши Tab, но можете указать другое направление для клавиши Enter. Изменение этого параметра влияет на весь рабочий лист, любые другие открытые рабочие листы, любые другие открытые рабочие книги и все новые рабочие книги.
На вкладке "Файл" нажмите "Параметры".
Только в Excel 2007: нажмите кнопку Microsoft Office , а затем щелкните Параметры Excel.
В категории "Дополнительно" в разделе "Параметры редактирования" установите флажок "После нажатия Enter" переместить выделение, а затем выберите нужное направление в поле "Направление".
Изменить ширину столбца
Нажмите ячейку, для которой вы хотите изменить ширину столбца.
На вкладке "Главная" в группе "Ячейки" нажмите "Формат".
В разделе Размер ячейки выполните одно из следующих действий:
Чтобы уместить весь текст в ячейке, нажмите "Автоподбор ширины столбца".
Чтобы указать большую ширину столбца, нажмите "Ширина столбца", а затем введите нужную ширину в поле "Ширина столбца".
Примечание. В качестве альтернативы увеличению ширины столбца можно изменить формат этого столбца или даже отдельной ячейки. Например, вы можете изменить формат даты, чтобы дата отображалась только как месяц и день (формат «мм/дд»), например, 31 декабря, или представляла число в научном (экспоненциальном) формате, например 4E+08.
Перенос текста в ячейку
Вы можете отображать несколько строк текста внутри ячейки, перенося текст. Перенос текста в ячейке не влияет на другие ячейки.
Нажмите на ячейку, в которую вы хотите поместить текст.
На вкладке "Главная" в группе "Выравнивание" нажмите "Перенос текста".
Примечание. Если текст представляет собой длинное слово, символы не будут переноситься (слово не будет разделено); вместо этого вы можете расширить столбец или уменьшить размер шрифта, чтобы увидеть весь текст. Если весь текст не виден после переноса текста, возможно, вам придется отрегулировать высоту строки. На вкладке "Главная" в группе "Ячейки" нажмите "Формат", а затем в разделе "Размер ячейки" нажмите "Автоподбор строки".
Дополнительную информацию об переносе текста см. в статье Перенос текста в ячейку.
Изменить формат числа
В Excel формат ячейки отличается от данных, хранящихся в ячейке. Эта разница в отображении может иметь значительный эффект, когда данные являются числовыми. Например, если число, которое вы вводите, округляется, обычно округляется только отображаемое число. В вычислениях используется фактическое число, хранящееся в ячейке, а не отображаемое отформатированное число. Следовательно, расчеты могут оказаться неточными из-за округления в одной или нескольких ячейках.
После того, как вы введете числа в ячейку, вы можете изменить формат их отображения.
Нажмите ячейку, содержащую числа, которые вы хотите отформатировать.
На вкладке "Главная" в группе "Число" щелкните стрелку рядом с полем "Числовой формат" и выберите нужный формат.
Чтобы выбрать числовой формат из списка доступных форматов, нажмите «Другие числовые форматы», а затем выберите нужный формат в списке «Категория».
Отформатировать число как текст
Числа, которые не должны рассчитываться в Excel, например номера телефонов, можно отформатировать как текст, применив текстовый формат к пустым ячейкам перед вводом чисел.
Выберите пустую ячейку.
На вкладке "Главная" в группе "Число" щелкните стрелку рядом с полем "Числовой формат" и выберите "Текст".
Введите нужные числа в отформатированную ячейку.
Числа, которые вы ввели до того, как применили текстовый формат к ячейкам, должны быть введены снова в отформатированные ячейки. Чтобы быстро повторно ввести числа в виде текста, выберите каждую ячейку, нажмите клавишу F2, а затем нажмите клавишу ВВОД.
Нужна дополнительная помощь?
Вы всегда можете обратиться к эксперту в техническом сообществе Excel или получить поддержку в сообществе ответов.
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для iPad Excel для iPhone Excel для планшетов Android Excel 2010 Excel для телефонов Android Подробнее. Меньше
Чтобы начать новую строку текста или добавить интервал между строками или абзацами текста в ячейке листа, нажмите клавиши ALT+ВВОД, чтобы вставить разрыв строки.
Дважды щелкните ячейку, в которую вы хотите вставить разрыв строки.
Нажмите место внутри выбранной ячейки, где вы хотите разорвать линию.
Нажмите Alt+Enter, чтобы вставить разрыв строки.
Чтобы начать новую строку текста или добавить интервал между строками или абзацами текста в ячейке листа, нажмите CONTROL + OPTION + RETURN, чтобы вставить разрыв строки.
Дважды щелкните ячейку, в которую вы хотите вставить разрыв строки.
Нажмите место внутри выбранной ячейки, где вы хотите разорвать линию.
Нажмите CONTROL+OPTION+RETURN, чтобы вставить разрыв строки.
Чтобы начать новую строку текста или добавить интервал между строками или абзацами текста в ячейке листа, нажмите клавиши ALT+ВВОД, чтобы вставить разрыв строки.
Дважды щелкните ячейку, в которую вы хотите вставить разрыв строки (или выберите ячейку и нажмите F2).
Нажмите место внутри выбранной ячейки, где вы хотите разорвать линию.
Нажмите Alt+Enter, чтобы вставить разрыв строки.
Дважды коснитесь ячейки.
Нажмите место, где вы хотите разорвать строку, а затем коснитесь синего курсора.
Нажмите «Новая строка» в контекстном меню.
Примечание. В Excel для iPhone нельзя начинать новую строку текста.
Нажмите кнопку переключения клавиатуры, чтобы открыть цифровую клавиатуру.
Нажмите и удерживайте клавишу возврата, чтобы просмотреть клавишу разрыва строки, а затем перетащите палец к этой клавише.
Нужна дополнительная помощь?
Вы всегда можете обратиться к эксперту в техническом сообществе Excel или получить поддержку в сообществе ответов.
Но всякий раз, когда я нажимаю клавишу Ввод, редактирование ячейки заканчивается, и курсор перемещается в следующую ячейку. Как этого избежать?
5 ответов 5
Что вам нужно сделать, так это поместить текст в текущую ячейку. Вы можете сделать это вручную, нажимая Alt + Enter каждый раз, когда вам нужна новая строка
Или вы можете установить это поведение по умолчанию, нажав кнопку «Перенос текста» на вкладке «Главная» на ленте. Теперь всякий раз, когда вы нажимаете Enter, текст автоматически переносится на новую строку, а не на новую ячейку.
Не совсем то же самое, что вопрос ОП, но вы также можете перенести существующий текст, выбрав ячейки и выбрав «Формат ячеек», а затем установив флажок «Переносить текст».
Для тех из вас, кто является разработчиком программного обеспечения и смущен всеми разговорами о "переносе текста" и "почему должен быть включен "перенос слов"". в Экселе. если вы хотите иметь более одной строки текста. тогда ДОЛЖЕН быть включен «перенос слов». Вы можете протестировать эту «функцию», вставив новую строку с помощью alt + enter, затем отключив «перенос слов», и вы увидите, как ваш новый символ строки каким-то образом исчезает.
Для тех, кто знаком с libreoffice, вставка новых строк выполняется с помощью Ctrl + Enter и не требует включения "переноса слов" для ячейки.
"Теперь всякий раз, когда вы нажимаете Enter, текст автоматически переносится на новую строку, а не на новую ячейку". . это все еще работает для всех с версией Excel 2019 года? Когда я включаю «Обтекание текстом» для ячеек, нажатие Enter по-прежнему переходит к следующей строке. Я работаю над электронной таблицей, где я всегда ввожу несколько строк текста, поэтому мне бы очень хотелось, чтобы это сработало. Удерживать ALT каждый раз слишком обременительно.
Вы должны использовать Alt + Enter, чтобы ввести возврат каретки внутри ячейки.
- Отредактируйте ячейку и введите желаемое в первой «строке».
- Нажмите одну из следующих кнопок в зависимости от вашей ОС:
Windows: Alt + Enter
Обратите внимание, что вставка возврата каретки с помощью указанных выше комбинаций клавиш приводит к другому поведению, чем включение переноса текста . На снимке экрана ниже в столбце A есть возврат каретки, а в столбце B включен Wrap Text. Изменение ширины столбца с возвратом каретки не удаляет их. При изменении ширины столбца с включенным переносом текста изменится место разрыва строк.
Когда вы вводите более длинный текст, чем помещается в обычную ячейку Excel, лишний текст либо переносится в следующую пустую ячейку, либо обрезается соседними данными. У вас есть несколько вариантов исправить это. Увеличение ширины столбца предоставит больше места для текста, но расширит каждую ячейку в столбце. По умолчанию ширина столбца составляет 8,43 стандартных символа шрифта, но ее можно увеличить до 250. Функция Word Wrap в Excel распределяет текст по нескольким горизонтальным строкам, но увеличивает высоту всех ячеек в этой строке. Объединение ячеек позволяет тексту занимать одну ячейку, которая занимает несколько столбцов по ширине, но этот вариант возможен только в том случае, если соседние ячейки пусты.
Увеличить ширину столбца
Введите длинный текст в соответствующую ячейку.
Наведите курсор мыши на вертикальную линию справа от буквы верхнего столбца. Например, если вы ввели текст в ячейку B1, укажите на вертикальную линию между буквами столбцов «B» и «C». Курсор превратится в знак "+" со стрелками по бокам.
Дважды щелкните строку, чтобы размер столбца автоматически изменился, чтобы вместить длинный текст. Кроме того, вы можете перетащить линию, чтобы изменить ее размер вручную.
Перенос текста
Щелкните правой кнопкой мыши ячейку, содержащую длинный текст, и выберите "Форматировать ячейки".
Перейдите на вкладку "Выравнивание" и установите флажок "Перенос текста".
Объединить ячейки
Перетащите указатель мыши через ячейку, содержащую текст, и любое количество пустых соседних ячеек в той же строке.
Щелкните правой кнопкой мыши по выделенному фрагменту и выберите "Форматировать ячейки".
Перейдите на вкладку "Выравнивание" и установите флажок "Объединить ячейки".
- Последний вариант — уменьшить размер шрифта, что позволит разместить больше символов в столбце стандартного размера. Чтобы уменьшить размер шрифта, выберите ячейку, содержащую длинный текст, и введите меньшее число в поле "Размер шрифта" в группе "Шрифт" на вкладке "Главная".
- Если вы часто сталкиваетесь с недостаточной шириной столбца, вы можете изменить ширину столбца по умолчанию на листе, нажав "Главная", "Формат" и "Ширина по умолчанию". Введите большее число в поле "Стандартная ширина" и нажмите "ОК".
С. Тейлор начал профессиональную писательскую карьеру в 2009 году и часто пишет о технологиях, науке, бизнесе, финансах, боевых искусствах и природе. Он пишет как для онлайн-изданий, так и для офлайн-изданий, включая Journal of Asian Martial Arts, Samsung, Radio Shack, Motley Fool, Chron, Synonym и другие. Он получил степень магистра биологии дикой природы в Университете Клемсона и степень бакалавра искусств в области биологических наук в Колледже Чарльстона. У него также есть несовершеннолетние по статистике, физике и изобразительному искусству.
Читайте также: