Как в программе libreoffice calc сделать таблицу

Накопилось ещё некоторое количество “приёмчиков” работы с Open/Libre Office. Если предыдущая заметка на эту тему была посвящена LO Writer, то на сей раз – “подопытным” выступает пакет Calc (электронные таблицы).

Для затравки – простое, но часто нужное действие – перемещение строк и столбцов таблицы.

Перемещение столбцов / строк

  1. Выделить нужный диапазон при помощи выделения всего столбца/строки (для этого можно щелкнуть ЛКМ на заголовок столбца/строки).
  2. Кликнуть и зажать ЛКМ внутри выделенного диапазона (на самих выделенных ячейках с данными, не на заголовке ).
  3. Тащить мышью диапазон, затем при отпускании:
    • Перезапишет тот диапазон ячеек, на который был перетащен
    • При зажатом Alt – поменяет диапазоны ячеек местами

    Изменение типа данных ячеек

    1. Выделить нужный диапазон ячеек (или весь столбец/строку целиком по клику на заголовок).
    2. Верхнее меню: Данные -> Текст по столбцам.
    3. ЛКМ на столбец в нижней области открывшегося окошка (для выделения диапазона, в котором требуется преобразование).
    4. Выбрать тип столбца – Ок.

    Эту операцию удобно проиллюстрировать примером: есть столбец с датами, которые хранятся, как текст (т.е. тип данных внутри офиса у них – текстовый, такое часто встречается при работе с кривыми выгрузками для Экселя). Использование меню Формат – Формат чисел – Дата не поможет в данном случае, т.к. дата хранится в виде строки ‘2023-06-16 .

    LibreOffice Calc. Урок 58. Создание сводной таблицы. | Работа с таблицами

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

    Автоматическое вычисление промежуточных итогов

    Ещё одна отличная функция Calc – можно получить итоговые значения для заданного набора данных (агрегировать). Буквально – в несколько кликов! Что отдельно приятно – функция работает с фильтрами.

    1. Ctrl + * – выделить все данные на листе. Можно выбирать и не весь диапазон, естественно.
    2. Данные -> Промежуточные итоги.
    3. Выбрать столбец, по которому агрегировать.
    4. Выбрать столбец для которого нужно получить агрегат.
    5. Выбрать агрегатную функцию.
    6. Кнопками слева вверху ( 1-2-3 и +/- ) можно переключать вид (свернуть-развернуть).

    Проще всего продемонстрировать этот процесс на примере прошлого файла, в котором текст парсился в даты.

    Выводы

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

    Бонус: Автонумерацию строк в Calc можно сделать формулой, как и во Writer. Растягивать формулу удобно, выделив нужные строки (включая ячейку с формулой), и нажав Ctrl+D .

    Источник: dimio.org

    LibreOffice Calc. Урок 41. Функция печати. | Работа с таблицами

    Формат ячеек в LibreOffice Calc

    LibreOffice Calc — мощный инструмент, который позволяет создавать не только просто крупные таблицы, но и таблицы со сложной структурой, вычисляемыми полями и прочими «вкусностями». Один из навыков, который поможет свободно создавать такие таблицы, — грамотная работа с форматом ячеек в LibreOffice Calc.

    Для начала определимся, какого вообще формата может быть ячейка. Заглянем в меню Формат->Ячейки или откроем контекстное меню нажатием правой кнопкой на ячейку и выберем Формат ячеек там. Всего различают 9 категорий, для большинства из которых можно выбирать разные способы отображения (опять же форматы):
    — числовой. Соответственно, несколько различных отображений чисел;
    — процентный. Значение, введённое в ячейку, умножается на 100 и выводится с символом процента. Может быть целым и с несколькими знаками после запятой;
    — денежный. Разные формы вывода чисел с указанием валюты. По умолчанию это рубль, однако, для каждой конкретной ячейки можно выбрать свою валюту;
    — дата. Различные варианты отображения даты: со временем, днём недели, кварталом, годом;
    — время. Различные варианты отображения времени: с датой, секундами и миллисекундами, указателем 12-часового формата времени (am/pm);
    — научный. Показывает числа в виде E+n, где Е — экспоненциальное представление (это значит, что число, предшествующее символу Е, умножено на 10 в степени n);
    — дробь. Собственно, числа в виде дробей. Число, введённое в виде десятичной дроби, будет так храниться в строке формул и выводиться в ячейке в виде натуральной дроби — целая+дробная части, разделённые наклонной чертой(/);
    — логический. Позволяет возвращать в нужную ячейку результат выполнения какой-либо логической функции. Проще объяснить алгоритм работы данного формата на примере. Допустим, нам нужно узнать, равны ли числа, введённые в ячейках C4 и E4:

    Читайте также:
    Программа чтобы узнать модель ноутбука

    Формат ячеек в LibreOffice Calc

    Для этого в ячейке B7 мы запишем функцию IF (ЕСЛИ), которая будет возвращать нам 0, если числа не равны, и 1, если равны. Если ячейка B7 будет иметь формат отличный от логического, в качестве результата работы функции мы будем видеть 0 или 1. А если логический — вместо нуля отобразиться слово «ЛОЖЬ», а вместо 1 — «ИСТИНА». Более наглядный результат сравнения, не правда ли?

    Если слово «ИСТИНА» отображается, а «ЛОЖЬ» — нет, тогда стоит проверить, не скрываются ли в вашем документе нулевые значения. Как об этом узнать — читайте ниже.

    — текст. Всё введённое в ячейку будет отображаться без каких-либо преобразований. Например, у артиклей с нолями впереди не будут отбрасываться нули.

    Плюс есть особый формат, в котором хранятся все пользовательские варианты изменения стандартных категорий. Чтобы внести изменения в какой-либо вариант отображения формата используем блок Параметры , располагающийся ниже перечисления категорий:

    Формат ячеек в LibreOffice Calc

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

    Самый простой и оптимальный вариант — установить всем ячейкам листа один, наиболее подходящий формат, а затем выделять ячейки другого типа и менять формат для них. По умолчанию формат ячейки является числовым, однако, опыт показывает, что во избежание проблем с отображением лучше выбирать категорию Текст. Чтобы выделить все ячейки листа, достаточно нажать на пустой белый квадрат в левом верхнем углу таблицы (на скриншоте выделен красным):

    Формат ячеек в LibreOffice Calc

    Аналогично, можно поменять формат столбцу, строке, группе ячеек и одной ячейке. Достаточно нажать на название столбца или строки, чтобы выделить их. Группу смежных ячеек выделяют перетаскиванием мыши, а отдельные, не смежные ячейки, — выделением с зажатой клавишей Ctrl.

    При копировании или перемещении ячейки её формат сохраняется.

    Иногда у пользователей возникают проблемы с отображением формул. Обычно, сразу после перехода из ячейки с формулой, она начинает «отрабатывать» — выводить результат. Однако, существует опция, позволяющая отобразить все формулы в таблице, не показывая полученные цифры. Вот так:

    Формат ячеек в LibreOffice Calc

    Чтобы включить/отключить её, зайдем в меню Сервис->Параметры , в окне слева выберем пункт LibreOffice Calc->Вид и установим/снимем галочку Показать->Формулы :

    Формат ячеек в LibreOffice Calc

    Аналогично можно скрывать и показывать нулевые значения — соответствующая галочка находится в том же списке Показать .

    В данной статье мы постарались рассмотреть основные приёмы работы с форматом ячеек в таблицах, созданных в LibreOffice Calc. Если у вас остались вопросы, вы можете задать их ниже — в комментариях или на нашем форуме. Мы постараемся оперативно на них ответить

    5 comments

    — 24 февраля 2014 Reply В этой программе вполне удобная таблица, в этом я убедился у себя на работе, когда мне дали задание составить опись наших товаров, если бы я пользовался какой ни будь другой программой у меня бы ушло намного больше времени.

    Вячеслав — 28 ноября 2014 Reply Здравствуйте, на работе видел как парень создал в calc таблицу где выбирал из созданных шаблонов определенный текс,
    например: Краска : и варианты выбора : 1, 2, 3,4,5,6,7 и тд, не подскажете как такое сделать что бы выбирать варианты?
    Спасибо очень нужно!
    С уважением к Вам

    Катерина — 30 ноября 2014 Reply Вячеслав, рассказываю Выделяете тот столбец, диапазон или ячейку, где вам нужно, чтобы такой список работал. Идёте в пункт меню Данные->Проверка… На вкладке Критерий выбираете Разрешить->Список. Внизу откроется поле для ввода списка, забиваете туда всё нужное и пользуетесь.

    Ёхан — 25 февраля 2016 Reply Поехали — как в одной ячейке написать два числа? Вид такой 342 876. Чтобы не «склеивались». Различные разделители не интересуют, только пробел.

    Читайте также:
    Как работать в программе pano2vr

    Константин — 1 марта 2016 Reply Выделить ячейку или диапазон, Правой кнопкой -> Формат Ячеек — > Текст, пишем числа через пробел.

    Источник: libreoffice.su

    Десять полезных рецептов макросов LibreOffice

    Макросы — отличный способ автоматизировать задачи в приложениях для работы с электронными таблицами, будь то старый добрый Microsoft Excel или столь же эффективная альтернатива FOSS, LibreOffice Calc. Самое лучшее в макросах то, что они написаны на очень простом языке под названием Basic.

    Как следует из самого названия, Basic — это мягкий язык программирования, на самом деле разработанный с учетом простоты использования. Например, верхний/нижний регистр не имеет значения для имен переменных или ключевых слов ( if/IF , sub/Sub , function/Function эквивалентны), фигурные скобки функций необязательны, как в Ruby, а преобразование типов происходит автоматически. Это делает Basic одинаково полезным как для опытных пользователей, так и для программистов. Макрос LibreOffice Basic — это просто функция или подпроцедура, которая выполняет определенную полезную задачу. В этом уроке мы увидим десять таких полезных макросов, которые могут помочь вам с различными задачами автоматизации.

    Рецепт 0: Как создать макрос LibreOffice

    Хотя макросы также можно создавать в Writer и Draw, в этом конкретном руководстве мы ограничимся электронными таблицами (Calc). Чтобы создать макрос, просто откройте электронную таблицу в LibreOffice и перейдите в меню Tools->Macros->Organize Macros->LibreOffice Basic . После этого, если вы хотите создать макрос, специфичный для вашей электронной таблицы (как это обычно бывает), разверните файл электронной таблицы слева, выберите Standard и нажмите New . Это откроет Редактор макросов LibreOffice в виде отдельного окна.

    Рецепт 1: Чтение содержимого ячейки

    Одной из самых основных вещей, необходимых для автоматизации, является чтение содержимого ячейки. Следующий фрагмент кода делает именно это:

    Sub read_cell dim document as object document = ThisComponent sheet = document.Sheets(0) MsgBox(sheet.getCellByPosition(0, 0).String) End Sub

    dim — это ключевое слово, используемое для объявления переменной, но объявление является необязательным, если только Option Explicit не указано в начале модуля. ThisComponent — это объект LibreOffice, который ссылается на текущую электронную таблицу (или письменный документ в случае Writer).

    Здесь важно выражение sheet.getCellByPosition(0, 0).String , которое получает содержимое первой ячейки в первой строке. На ячейки можно ссылаться, используя систему координат, где (0,0) относится к ячейке в строке-0 и столбце-0. Таким образом, с помощью этого простого метода можно получить любое значение во всей электронной таблице.

    Чтобы запустить макрос из редактора, просто поместите курсор внутрь sub или function тела любого макроса и нажмите F5 (или щелкните значок Run BASIC на панели инструментов).

    Рецепт 2: Изменить содержимое ячейки

    Еще одна часто необходимая вещь — возможность изменить содержимое ячейки. Следующий код устанавливает для первой ячейки в первой строке значение «Hola! Mundo», испанское выражение «Привет! Мир»:

    Sub change_cell dim document as object document = ThisComponent sheet = document.Sheets(0) sheet.getCellByPosition(0, 0).String = «Hola Mundo!» MsgBox(«Done») End Sub

    Рецепт 3: Поиск и замена

    Поиск и замена определенных строк может быть важной частью вашей процедуры автоматизации. Ниже приведен забавный макрос, который ищет имена некоторых экспертов по Linux (таких как Линус, Ричард, Питер и т. д.) и заменяет их фамилиями (Торвальдс, Столлман, Энвин):

    Sub replace_text Dim names() As String Dim surnames() As String Dim n As Long Dim document As Object Dim sheets as Object Dim sheet as Object Dim replace As Object names() = Array(«Linus», «Richard», «Peter», «Greg», «Bill») surnames() = Array(«Torvalds», «Stallman», «Anvin», «Kroah», «Gates») document = ThisComponent rem .CurrentController.Frame rem sheet = doc.CurrentSelection.Spreadsheet sheets = document.getSheets() sheet = sheets.getByIndex(0) replace = sheet.createReplaceDescriptor rem document.createReplaceDescriptor in case of Writer rem replace.SearchRegularExpression = True For n = lbound(names()) To ubound(names()) replace.SearchString = names(n) replace.ReplaceString = surnames(n) sheet.replaceAll(replace) Next n MsgBox(«Done») End Sub

    names() и surnames() на самом деле являются массивами. В отличие от C и Java, массивы в Basic объявляются и доступны с помощью круглых, а не квадратных скобок. Кроме того, в объявлении массива объявляется верхняя граница, а не общий размер. Таким образом, foo(2) на самом деле представляет собой массив размера 3 с индексами от 0 до 2.

    Рецепт 4: Регулярные выражения

    Регулярные выражения очень полезны при поиске и замене текста на основе определенных шаблонов. Следующий макрос выполняет поиск всех адресов электронной почты в электронной таблице и заменяет каждый из них на [email protected] :

    Читайте также:
    Комплексная программа диагностики психологической готовности к школьному обучению пример

    Рецепт 5: Показать диалоговое окно открытия файла

    Отображение диалогового окна открытия файла является очень распространенным требованием, особенно когда вы хотите открыть внешний файл для обработки. В приведенном ниже коде объект FilePicker используется для отображения диалогового окна открытия файла и возврата выбранного имени файла:

    function show_open_dialog dim aurl as object dim s as string dim oDlg as object oDlg = createUnoService(«com.sun.star.ui.dialogs.FilePicker») oDlg.setMultiSelectionMode(false) oDlg.appendFilter(«CSV Files (.csv)», «*.csv» ) oDlg.execute aUrl = oDlg.getFiles() s = aUrl(0) if len(s) > 0 then MsgBox(«File Selected: » chr(13)) end if show_open_dialog = s end function

    createUnoService — это особый метод LibreOffice для создания вспомогательных объектов, таких как FilePicker в этом примере. Метод appendFilter используется для фильтрации только CSV файлов в диалоговом окне.

    Рецепт 6: Показать диалоговое окно сохранения файла

    Для отображения диалогового окна сохранения файла используется тот же объект FilePicker , который инициализируется аргументом FILESAVE_AUTOEXTENSION :

    function show_save_dialog dim aurl as object dim s as string dim oDlg as object sFilePickerArgs = Array(_ com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_AUTOEXTENSION ) oDlg = createUnoService(«com.sun.star.ui.dialogs.FilePicker») oDlg.initialize(sFilePickerArgs()) oDlg.setMultiSelectionMode(false) oDlg.appendFilter(«CSV Files (.csv)», «*.csv» ) oDlg.setTitle(«Save As. «) if oDlg.execute() then aUrl = oDlg.getFiles() s = aUrl(0) if len(s) > 0 then MsgBox(«File Selected: » chr(13)) end if else s = «» end if show_save_dialog = s end function

    Рецепт 7. Файловый ввод-вывод: чтение из файлов

    Ввод-вывод необработанных файлов — это функция, предоставляемая почти каждым языком, а макросы Basic делают ее почти слишком простой. Код ниже используется для чтения CSV-файла с тремя столбцами.

    Имя файла задается в переменной filename . Переменная num представляет собой числовой тег, используемый для ссылки на обработчик файлов, а FreeFile() возвращает свободный доступный номер, который можно использовать для тегирования. Оператор open говорит сам за себя. В Basic файлы можно открывать в режимах Input, Output и Binary. Наконец, оператор input используется для фактического чтения файла в переменные строка за строкой.

    sub file_io_read dim v1, v2, v3 filename = «/home/prahlad/data/test.csv» num = FreeFile() open filename for input as #num do while not eof(num) input #num, v1, v2, v3 print v1 ::» «::» Done» end sub

    Рецепт 8. Файловый ввод-вывод: запись в файлы

    Для записи в файлы обработчик открывается в режиме output вместо input , а оператор write используется для фактической записи переменных в файл.

    sub file_io_write filename = «/home/prahlad/data/dummy.csv» num = FreeFile() open filename for output as #num write #num, «col1», «col2», «col3» write #num, «1», «2», «3» write #num, «4», «5», «6» close #num msgbox «Done» end sub

    Рецепт 9: Загрузить данные из CSV-файла

    Помимо работы в режиме необработанного ввода-вывода, иногда требуется загрузить полный CSV-файл в виде листа в текущем документе. Используя функцию show_open_dialog , которую мы изучали ранее, следующий макрос сначала запрашивает у пользователя диалоговое окно открытия файла, а затем загружает указанный CSV-файл как новый лист:

    sub load_from_csv fname = show_open_dialog if len(fname)>0 then dim fileProps(1) as new com.sun.star.beans.PropertyValue fileProps(0).Name = «FilterName» fileProps(0).Value = «Text — txt — csv (StarCalc)» fileProps(1).Name = «FilterOptions» fileProps(1).Value = «44,34,76,1,,0,false,true,true,false» document = StarDesktop.loadComponentFromURL(fname, «_blank», 0, fileProps()) end if msgbox «Done» end sub

    fileProps(0) — это переменная свойства, используемая для указания формата файла CSV, а fileProps(1) указывает параметры форматирования по умолчанию для CSV (например, разделитель, набор символов и т. д.).

    Рецепт 10: Скопируйте текст в буфер обмена

    Ваша пользовательская обработка может включать в себя помещение определенного текста в буфер обмена из LibreOffice Calc. Следующий код показывает, как поместить строку «Hola!» в системный буфер обмена:

    sub copy_to_clipboard oClip = CreateUnoService(«com.sun.star.datatransfer.clipboard.SystemClipboard») oTR = createUnoListener(«TR_», «com.sun.star.datatransfer.XTransferable») oClip.setContents(oTR, null) msgbox «Done» end sub Function TR_getTransferData( aFlavor As com.sun.star.datatransfer.DataFlavor ) As Any If (aFlavor.MimeType = «text/plain;charset=utf-16») Then TR_getTransferData = «Hola!» EndIf End Function Function TR_getTransferDataFlavors() As Any Dim aF As new com.sun.star.datatransfer.DataFlavor aF.MimeType = «text/plain;charset=utf-16» aF.HumanPresentableName = «Unicode-Text» TR_getTransferDataFlavors = Array(aF) End Function Function TR_isDataFlavorSupported( aFlavor As com.sun.star.datatransfer.DataFlavor ) As Boolean TR_isDataFlavorSupported = (aFlavor.MimeType = «text/plain;charset=utf-16») End Function

    Вторая функция является обратным вызовом и используется для сохранения строки в буфер обмена. Последние две являются вспомогательными функциями, которые используются вспомогательными объектами SystemClipboard и XTransferable и являются обязательными.

    Демо

    Наконец, рабочую электронную таблицу LibreOffice Calc, реализующую все эти примеры, можно найти здесь.

    использованная литература

    • http://api.libreoffice.org/examples/examples.html#Basic_examples
    • https://forum.openoffice.org/en/forum/viewtopic.php?f=25t=13783

    Источник: digitrain.ru

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru