Поделиться через


Записывайте повседневные изменения в Excel и сообщайте о них с помощью потока Power Automate

Сценарии Power Automate и Office объединяются для выполнения повторяющихся задач. В этом примере вам поручено записывать одно числовое чтение в книге каждый день и сообщать об изменениях со вчерашнего дня. Вы создадите поток, чтобы получить это чтение, запишите его в книгу и сообщите об изменениях по электронной почте.

Настройка: пример файла Excel

Эта книга содержит данные, объекты и форматирование, ожидаемые скриптом.

Пример кода: запись и отчет о ежедневных показаниях

Добавьте следующий скрипт в пример книги. В Excel используйте команду Автоматизировать>новый скрипт , чтобы вставить код и сохранить скрипт. Сохраните его как запись ежедневно и попробуйте пример самостоятельно!

function main(workbook: ExcelScript.Workbook, newData: string): string {
  // Get the table by its name.
  const table = workbook.getTable("ReadingTable");

  // Read the current last entry in the Reading column.
  const readingColumn = table.getColumnByName("Reading");
  const readingColumnValues = readingColumn.getRange().getValues();
  const previousValue = readingColumnValues[readingColumnValues.length - 1][0] as number;

  // Add a row with the date, new value, and a formula calculating the difference.
  const currentDate = new Date(Date.now()).toLocaleDateString();
  const newRow = [currentDate, newData, "=[@Reading]-OFFSET([@Reading],-1,0)"];
  table.addRow(-1, newRow);

  // Return the difference between the newData and the previous entry.
  const difference = Number.parseFloat(newData) - previousValue;
  console.log(difference);
  return difference.toString();
}

Пример потока: отчет о повседневных изменениях

Выполните следующие действия, чтобы создать поток Power Automate для примера.

  1. Создайте новый запланированный облачный поток.

  2. Запланируйте повторение потока каждые 1 день.

    Шаг создания потока, показывающий, что он будет повторяться каждый день.

  3. Нажмите Создать.

  4. В реальном потоке вы добавите шаг, который получает данные. Данные могут поступать из другой книги, адаптивного карта Teams или любого другого источника. Чтобы протестировать пример, введите тестовый номер. Добавьте действие и выберите действие Инициализировать переменную . Присвойте ему следующие значения.

    1. Имя: Входные данные
    2. Тип: Целое число
    3. Значение: 190000

    Действие Инициализировать переменную с заданными значениями.

  5. Добавьте действие и выберите действие Выполнить скрипт соединителя Excel Online (бизнес). Используйте следующие значения для действия.

    1. Расположение: OneDrive для бизнеса
    2. Библиотека документов: OneDrive
    3. Файл: daily-readings.xlsx (выбрано в браузере файлов)
    4. Скрипт: запись ежедневного значения
    5. newData: input (динамическое содержимое)

    Действие Выполнить скрипт с заданными значениями.

  6. Скрипт возвращает разницу в ежедневном чтении в виде динамического содержимого с именем result. Для примера вы можете отправить информацию по электронной почте себе. Добавьте действие и выберите действие Отправить сообщение электронной почты (V2) соединителя Outlook (или любой другой почтовый клиент). Для завершения действия используйте следующие значения.

    1. По адресу: ваш адрес электронной почты
    2. Тема: Ежедневное изменение чтения
    3. Текст: "Отличие от вчерашнего": результат (динамическое содержимое из Excel)

    Завершенный соединитель Outlook в Power Automate.

  7. Сохраните поток и опробуйте его. Используйте кнопку Тест на странице редактора потоков. Обязательно разрешите доступ при появлении запроса.