Параметры сводных таблиц в Excel
-
09-06-2019 - |
Вопрос
Мне нужно разработать небольшой проект для создания отчетов Excel в .NET, которые будут отправлены пользователям для использования.
Отчеты Excel будут содержать сводные таблицы.
У меня нет большого опыта работы с ними, но я могу придумать три альтернативы реализации:
- Задайте для него запрос, заполните его и отправьте отключенным.Таким образом пользователь сможет сгруппировать значения и немного поиграть, но не сможет обновить данные.
- Создайте небольшую базу данных доступа и отправьте ее вместе с файлом Excel, подключитесь к ней.
- Скопируйте данные в Excel (возможно, на какой-нибудь другой лист) и подключитесь к данным там.Я думаю, что это сделает файл Excel очень большим.
Какая альтернатива будет лучшей с точки зрения производительности и удобства использования?Есть ли другая альтернатива, о которой я не знаю?
Решение
Поскольку это небольшой проект, вы можете положиться на Excel для хранения данных из приложения.Его будет легче разрабатывать и тестировать, а также проще поддерживать.
Другие советы
@Эспо
Нет, у пользователей не будет доступа к исходному источнику данных, поэтому я рассматриваю возможность создания небольшой базы данных с подмножеством данных, необходимым для отчета.
Нужно ли хранить данные «офлайн»?
В тех случаях, когда у вас довольно много данных, я обычно делаю это, используя существующий sql-сервер, уже находящийся в сети.Если его планируется использовать в офисе, пользователи в любом случае будут подключены к Интернету.
Просто не забудьте создать выделенного пользователя с ограниченным доступом на sql-сервере для этого отчета и не хранить пароль «sa» в файле Excel.
Если под «отправлено пользователям» вы подразумеваете пользователей за пределами офиса, это не будет хорошим решением.Если это так, я бы попробовал включить данные в таблицу Excel и посмотреть, насколько большими они станут.Это будет наиболее удобное решение, если файл не слишком велик.
Кроме того, я нашел это в Интернете: Различные способы использования веб-запросов в Microsoft Office Excel 2003.Это позволит вам хранить данные на общедоступном веб-сайте (с секретным URL-адресом, если хотите), а затем позволить Excel извлекать данные.Таким образом, вам не придется заполнять почтовые ящики пользователей большими файлами, а также вы сможете обновить данные позже, не отправляя повторно файл Excel.
Вариант 3 кажется самым простым, и я бы подумал, что Excel не более эффективен для хранения данных, чем Access.Проблема с двумя файлами заключается в том, что ссылки между ними работают даже в другом месте.
@paulmorriss
Может быть...проблема в том, что существуют ограничения на объем данных, которые может содержать один лист...Я думаю о варианте 2, если кто-то не скажет мне, что это плохая идея с точки зрения производительности.