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





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