Как разрешить пользователю входить в одну строку электронной таблицы?

Как разрешить пользователю входить в одну строку электронной таблицы?

Я работаю со 100 людьми, и у меня есть данные о них в одном документе Microsoft Excel.

Каждая строка представляет каждого пользователя с его/ее данными в одной строке. Теперь я хочу поделиться документом с пользователями, но я не хочу, чтобы они видели все данные других пользователей в документе. Я хочу, чтобы они могли войти в одну строку и увидеть только данные в этой строке.

решение1

Это невозможно. Вы либо предоставляете пользователям доступ к документу, либо нет.

Вместо этого вам нужно связать несколько листов с главным листом.

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

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

Он автоматически создаст для вас формулу, которая отобразит все, что находится на другом листе.

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

Кажется, в комментариях есть некоторая путаница относительно того, как это будет работать с точки зрения безопасности.

Для этого и сделано это редактирование.

Допустим, у вас есть сетевой ресурс со следующими двумя папками:

N:\Report\Users\#######
N:\Report\Management

Внутри ######находится папка Excel для каждого человека, а права настраиваются таким образом, чтобы и руководство, и этот пользователь могли получить доступ к этой папке.

Руководство имеет доступ только к папке «Управление».

В папке «Управление» создаются ссылки на каждый лист пользователя, на разные ячейки.

Пользователь может редактировать свой лист или просматривать его, или делать это любым другим удобным для него способом.

Когда вы открываете лист управления, он спрашивает вас, хотите ли вы обновить данные. Все ячейки обновляются и пересчитываются.

Пользователь может получить доступ только к листу в своей папке, поэтому он не может видеть остальное. Поскольку у него нет доступа к папке управления, он не может получить доступ и к этим данным.

решение2

Это невозможно без специальных расширений.

Однако вы можете создать электронную таблицу, которая извлекает информацию из многих других электронных таблиц. Это может быть довольно медленно, поэтому вы можете использовать VBA или язык сценариев (например, Python) для параллельного чтения файлов и решения проблем с доступом (файл может быть открыт/заблокирован пользователем, данные повреждены, плохое сетевое соединение...).

Также обратите внимание, что это кажется плохой практикой и на самом деле являетсяПроблема XY. Если вам нужно хранить данные и разрешать только ограниченный доступ к ним, попробуйте веб-сервер. Хостинг Wordpress или аналогичный может вам помочь начать!

решение3

Я не думаю, что Excel обладает функционалом, позволяющим сделать то, что вам нужно, напрямую.

Вот что я сделал много лет назад, когда мне пришлось решать похожую проблему. Решение, которое я реализовал, представляло собой веб-страницу с PHP-скриптом, работающим на PHPExcel (теперь PHPSpreadsheet). Итак

  • Вам необходимо установить веб-сервер (IIS входит в состав Windows по умолчанию. Его просто нужно настроить; или можно легко установить Apache или аналогичный).

  • Очень простая веб-страница с формой, которая запрашивает идентификацию у ваших коллег и вызывает PHP-скрипт.

  • PHP-скрипт, который анализирует входные данные и обращается к электронной таблице через API PHPSpreadsheet, а затем представляет данные на веб-странице.

Все это (веб-страница + PHP-скрипт с вызовами для получения данных из электронной таблицы + базовая логика для отображения данных) занимает около 120 строк. Почти половина из них — это та логика, которую мне нужно было реализовать в моем случае, но это может быть почти ничто, если вы отображаете данные напрямую.

Связанный контент