Параметры для сводных таблиц в Excel - PullRequest
0 голосов
/ 09 сентября 2008

Мне нужно разработать небольшой проект для генерации отчетов Excel в .NET, который будет отправлен пользователям для использования.

Отчеты Excel будут содержать сводные таблицы.

У меня нет большого опыта с ними, но я могу придумать три варианта реализации:

  1. Установите запрос для него, заполните его, отправьте его отключенным. Таким образом, пользователь сможет сгруппировать значения и немного поиграть, но не сможет обновить данные.
  2. Создайте небольшую базу данных доступа и отправьте ее вместе с файлом Excel, подключитесь к ней.
  3. Скопируйте данные в Excel (возможно, на другом листе) и подключитесь к данным там. Я думаю, это сделает файл Excel очень большим.

Что было бы лучшей альтернативой в отношении производительности и удобства использования? Есть ли другая альтернатива, о которой я не знаю?

Ответы [ 5 ]

0 голосов
/ 06 ноября 2008

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

0 голосов
/ 09 сентября 2008

@ paulmorriss

Может быть ... проблема в том, что существуют ограничения относительно того, сколько данных может содержать один лист ... Я думаю вариант 2, если кто-то не скажет мне, что это не очень хорошая идея в отношении производительности

0 голосов
/ 09 сентября 2008

@ Эспоо

Нет, пользователи не будут иметь доступа к исходному источнику данных, поэтому я рассматриваю возможность создания небольшой базы данных доступа с подмножеством данных, необходимым для отчета

0 голосов
/ 09 сентября 2008

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

0 голосов
/ 09 сентября 2008

Нужно ли держать данные в автономном режиме?

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

Просто не забудьте создать выделенного пользователя с ограниченным доступом на sql-сервере для этого отчета и не сохранять пароль "sa" в excel-файле.

Если вы под "отправленными пользователям" имеете в виду пользователей вне офиса, это не будет хорошим решением. Если это так, я бы попытался включить данные в таблицу Excel и посмотреть, насколько они будут большими. Это будет самое удобное решение, если файл не слишком большой.

Кроме того, я нашел это в Интернете: Различные способы использования веб-запросов в Microsoft Office Excel 2003 . Это позволит вам хранить данные на общедоступном веб-сайте (с секретным URL-адресом, если хотите), а затем позволит Excel извлекать данные. Таким образом, вам не нужно заполнять папку «Входящие» пользователей большими файлами, и вы также можете обновить данные позже, не отправляя файл Excel.

...