Выгрузка данных в Excel
Выгрузка данных в Excel
Здравствуйте.
Есть такая задача.
Необходимо сделать выгрузку данных в Excel.
Я формирую запрос, полученный результат записываю в таблицу dataTable (сложные вычисления, запросом не решить).
Далее мне нужно программно создать отчет, добавить туда в качестве источника данных эту таблицу (можно ли это сделать?), создать переменные, страницу с бэндами + график, настроенный на отображение полученных данных, сформировать отчет и сохранить в Excel. При этом все делать в потоке, не создавая файл отчета на диске.
Подскажите, пожалуйста, можно ли это сделать?
Спасибо.
Есть такая задача.
Необходимо сделать выгрузку данных в Excel.
Я формирую запрос, полученный результат записываю в таблицу dataTable (сложные вычисления, запросом не решить).
Далее мне нужно программно создать отчет, добавить туда в качестве источника данных эту таблицу (можно ли это сделать?), создать переменные, страницу с бэндами + график, настроенный на отображение полученных данных, сформировать отчет и сохранить в Excel. При этом все делать в потоке, не создавая файл отчета на диске.
Подскажите, пожалуйста, можно ли это сделать?
Спасибо.
Re: Выгрузка данных в Excel
Здравствуйте, Наталья.
Спасибо.
Уточните, пожалуйста, вы хотите в итоге получить файл или экспортировать в приложение Excel? У нас возможен только первый вариант. Всё остальное возможно сделать используя MemoryStream.Наталья писал(а):Необходимо сделать выгрузку данных в Excel.
Я формирую запрос, полученный результат записываю в таблицу dataTable (сложные вычисления, запросом не решить).
Далее мне нужно программно создать отчет, добавить туда в качестве источника данных эту таблицу (можно ли это сделать?), создать переменные, страницу с бэндами + график, настроенный на отображение полученных данных, сформировать отчет и сохранить в Excel. При этом все делать в потоке, не создавая файл отчета на диске.
Спасибо.
Re: Выгрузка данных в Excel
Здравствуйте.
В моем приложении, грубо говоря, 2 кнопки: 1 - предварительный просмотр, 2 - экспорт в Excel.
Т.е. пользователь нажимает на кнопку 1:
пользователь нажимает на кнопку 2:
Т.е. мне нужно будет создать на ходу отчет, записать в MemoryStream, а потом выгружать в Excel или на предварительный просмотр?
И еще вопрос. Источник данных будет иметь поле, по которому необходимо группировать данные, для каждой группировки должен быть отдельный график. Как можно график вставить в группировку?
Спасибо.
В моем приложении, грубо говоря, 2 кнопки: 1 - предварительный просмотр, 2 - экспорт в Excel.
Т.е. пользователь нажимает на кнопку 1:
Код: Выделить всё
_report = CreateReport(); //здесь нужно будет вручную создать все бэнды, колонки и график, файл не должен храниться локально на диске
DataTable tb = CreateData();
_report.RegData(tb);
_report.Show();
Код: Выделить всё
_report = CreateReport();
DataTable tb = CreateData();
_report.RegData(tb);
_report.Render(true);
_report.ExportDocument(StiExportFormat.Excel2007, "C:\\Report.xlsx");
И еще вопрос. Источник данных будет иметь поле, по которому необходимо группировать данные, для каждой группировки должен быть отдельный график. Как можно график вставить в группировку?
Спасибо.
Re: Выгрузка данных в Excel
Здравствуйте.
Если вы создаёте отчёт в коде, то использовать MemoryStream не надо.
Пример как создать график в коде вы можете найти в нашей базе знаний.
Спасибо.
Если вы создаёте отчёт в коде, то использовать MemoryStream не надо.
Пример как создать график в коде вы можете найти в нашей базе знаний.
Спасибо.
Re: Выгрузка данных в Excel
Здравствуйте.
Еще немного уточню, в чем у меня сейчас проблема.
Мне нужно, чтобы график строился для каждой группы и отображался под группой, для которой построен. А у меня отображается под каждой группой, но построен на основе всех данных, без учета группировки. Как можно для графика указать, чтобы он строился для текущей группы?
Спасибо.
Еще немного уточню, в чем у меня сейчас проблема.
Мне нужно, чтобы график строился для каждой группы и отображался под группой, для которой построен. А у меня отображается под каждой группой, но построен на основе всех данных, без учета группировки. Как можно для графика указать, чтобы он строился для текущей группы?
Спасибо.
Re: Выгрузка данных в Excel
Здравствуйте.
Пример отчёта вы можете увидеть в нашем Демо: Charts - Chart with DataBand.
Спасибо.
Надо задать нужные значения свойствам Data Relation(Связь) и Data Source(Источник данных) у диаграммы.Наталья писал(а):Еще немного уточню, в чем у меня сейчас проблема.
Мне нужно, чтобы график строился для каждой группы и отображался под группой, для которой построен. А у меня отображается под каждой группой, но построен на основе всех данных, без учета группировки. Как можно для графика указать, чтобы он строился для текущей группы?
Пример отчёта вы можете увидеть в нашем Демо: Charts - Chart with DataBand.
Спасибо.
Re: Выгрузка данных в Excel
Здравствуйте.
Что-то не получилось у меня применить "связь", возникает ошибка "ParentKey and ChildKey are identical."
Во вложении тестовый проект и отчет. Посмотрите, пожалуйста.
В источнике данных 2 группы: "name" и "name2".
Спасибо.
Что-то не получилось у меня применить "связь", возникает ошибка "ParentKey and ChildKey are identical."
Во вложении тестовый проект и отчет. Посмотрите, пожалуйста.
В источнике данных 2 группы: "name" и "name2".
Спасибо.
- Вложения
-
- TestReport.rar
- (13.77 КБ) 176 скачиваний
Re: Выгрузка данных в Excel
Здравствуйте.
Не совсем понятно что вы пытаетесь сделать. Создавать связи поля из источника данных с ним же в принципе неправильно. Ошибка об этом вам и говорит.
Спасибо.
Не совсем понятно что вы пытаетесь сделать. Создавать связи поля из источника данных с ним же в принципе неправильно. Ошибка об этом вам и говорит.
Спасибо.
Re: Выгрузка данных в Excel
Здравствуйте.
Подскажите, пожалуйста, а как можно зарегистрировать 2 источника данных в одном подключении?
Сейчас я добавляю один источник данных с помощью _report.RegData(dt);
Спасибо.
Подскажите, пожалуйста, а как можно зарегистрировать 2 источника данных в одном подключении?
Сейчас я добавляю один источник данных с помощью _report.RegData(dt);
Спасибо.
Re: Выгрузка данных в Excel
Здравствуйте,
В данном случае, вы можете у себя в коде добавить необходимые таблицы в один DataSet и уже его регестрировать с помощью метода RegData().
Спасибо.
В данном случае, вы можете у себя в коде добавить необходимые таблицы в один DataSet и уже его регестрировать с помощью метода RegData().
Спасибо.