Импорт данных из Excel в таблицы LaTeX (pgfplotstable)

Почему ручной перенос таблиц из Excel в LaTeX — это тупик

В ходе научных исследований и инженерных расчетов данные непрерывно меняются: провели новую серию измерений, пересчитали формулу в Excel — и вся таблица из 50 строк изменилась. Если переносить каждую ячейку в LaTeX вручную через амперсанды & и слэши \\, вы потратите часы и неизбежно допустите опечатки.

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

Подготовка данных: экспорт из Microsoft Excel в формат CSV

В Excel сохраните нужный лист через меню «Сохранить как» → «CSV (разделители — запятые)» или «Текстовый файл с разделителями табуляции». В русскоязычной версии Excel разделителем столбцов традиционно выступает точка с запятой ;, а десятичным разделителем — запятая ,.

Конвертировать Excel в таблицу LaTeX: базовый вызов pgfplotstable

Для чтения данных подключите пакет pgfplotstable (он входит в состав TeX Live и надстраивается над pgfplots):

LaTeX Преамбула
\usepackage{pgfplotstable}
\usepackage{booktabs}
\pgfplotsset{compat=1.18}

Теперь, чтобы конвертировать excel в таблицу latex, достаточно одной строки:

LaTeX Вставка
\pgfplotstabletypeset[col sep=semicolon]{measurements.csv}

Если импортируемый массив данных слишком широк для книжной страницы, оберните его в окружение для вращения широких таблиц sidewaystable.

Pgfplotstable чтение CSV: разделители, кодировка и русская запятая

При использовании pgfplotstable чтение csv можно настроить с ювелирной точностью под российские стандарты:

LaTeX Тонкая настройка
\pgfplotstabletypeset[
    col sep=semicolon,               % Разделитель колонок (точка с запятой из Excel)
    string type,                     % Если в колонках есть текст
    every head row/.style={
        before row=\toprule,
        after row=\midrule
    },
    every last row/.style={
        after row=\bottomrule
    }
]{data.csv}

Если в CSV содержатся вещественные числа, которые нужно автоматически округлить до 2 знаков после запятой и заменить десятичную точку на русскую запятую по ГОСТу:

LaTeX Округление и ГОСТ запятая
\pgfplotstabletypeset[
    col sep=comma,
    every numeric column/.style={
        precision=2,
        fixed,
        dec sep align,
        set thousands separator={\,}
    }
]{experiment.csv}

Профессиональная стилизация: шапка, границы и округление

Вы можете переименовывать столбцы таблицы прямо в LaTeX, не меняя заголовки в самом файле CSV:

LaTeX Переименование столбцов
\pgfplotstabletypeset[
    col sep=semicolon,
    columns/time/.style={column name={Время $t$, с}},
    columns/voltage/.style={column name={Напряжение $U$, В}},
    columns/current/.style={column name={Ток $I$, мА}}
]{measurements.csv}

Практические советы

1

Храните CSV рядом с исходником .tex

Поместите файл data.csv в ту же папку проекта, что и основной файл main.tex, чтобы компилятор сразу находил его по относительному пути.

2

Интеграция в Labkeeper

В онлайн-редакторе Labkeeper вы можете загрузить CSV в файловый менеджер проекта и на лету видеть отрендренную таблицу с автоматическим расчетом промежуточных сумм.

Попробуйте прямо сейчас

Автоматизируйте таблицы в Labkeeper

Онлайн-платформа с поддержкой pgfplotstable: загрузка CSV из Excel, моментальная компиляция и экспорт в PDF.

LaTeX editor screenshot
  • Полновесная компиляция: Получайте PDF профессионального качества с помощью встроенного LaTeX-компилятора.
  • 60 секунд на выполнение: Работайте со сложными документами без ограничений — лимит времени компиляции в разы выше, чем в аналогичных сервисах.
  • Умная конвертация: Любые вычислительные формулы автоматически преобразовываются в красивый LaTeX
  • Гибридный синтаксис: Используйте легковесные вставки Markdown прямо в сложном LaTeX-коде для ускорения работы.
bg

Другие статьи