sudhir.mali Ответов: 1

Экспорт кода в excel в службе WCF


Как экспортировать данные в excel в службе WCF. Хотите сгенерировать файл excel более 10 000 за один вызов. Эта операция должна быть быстрой.

Что я уже пробовал:

Привет,
Я создал один из способов WCF-сервиса. В котором я обрабатывал все данные на стороне службы.
Кроме того, я экспортировал данные в excel с помощью локального отчета (rdlc используется для форматирования и экспорта), но не раз (то есть более 10000) Я экспортирую данные в excel, что занимает много времени для генерации с помощью rdlc, а также у rdlc есть проблема утечки памяти.

Так есть ли какое-то решение ? Пожалуйста помочь.

Спасибо.

F-ES Sitecore

Если вы загуглите, как создавать файлы Excel с помощью c#, вы найдете множество статей и библиотек, так что попробуйте их все. Может быть, начать с использования драйвера Excel ODBC, который позволяет читать\писать в листы Excel, как будто они были таблицами в базе данных.

1 Ответов

Рейтинг:
1

#realJSOP

Это первый способ, которым я бы это сделал:

0) отправьте запрос на сервер для генерации файла.

1) Как упоминалось выше Ф-Эс компания[^], чтобы сервер создать файл Excel, используя драйвер ODBC Excel и сохраните файл, используя идентификатор GUID для название, например EE430293-3460-4251-AD14-84E4E99B6E8E.xlsx (непостижимый и всегда уникальный).

2) свяжитесь с клиентом, когда файл будет готов (указав имя файла в сообщении)

3) затем клиент может передать файл с помощью некоторых безопасных средств, таких как SFTP.

4) через определенное время (24 часа?) сервер может автоматически удалить файл в интересах самоподдержания.

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

Другой вариант вместо использования фактического файла Excel состоит в том, чтобы база данных возвращала результирующий набор в виде XML, а также в формате, совместимом с Excel. Таким образом, нет никакой необходимости в ODBC вообще (и это может быть даже быстрее).


sudhir.mali

Привет попробовал с фактическим excel,
Таким образом, для генерации 50 excel требуется 1 мин (текущий excel не содержит более 25 строк).
нужно повысить производительность.
Кроме того ,в excel мне нужно обрабатывать промежуточную и общую итоговую часть, замораживание строк и другую часть форматирования.

sudhir.mali

Теперь пытаюсь с openxml dll,
Надеюсь, что так он попытается улучшить производительность.