Экспорт в dbf, csv

Обсуждение Stimulsoft Reports.NET
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Экспорт в dbf, csv

Сообщение BeraleX »

Добрый день

Как ни пытаюсь, не проходит экспорт в эти форматы. Создаются пустые файлы.
Версия компонентов последняя.
Может нужны какие-то особые условия, выставление свойств?

Спасибо.
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Экспорт в dbf, csv

Сообщение Ivan »

Здравствуйте.

Форматы Csv, Dbf и Xml - это форматы данных.
Поэтому в эти форматы экспортируются только текстбоксы с датабэндов.
Если у вас не экспортируются текстбоксы с датабэндов - присылайте на саппорт образец отчета, будем разбираться.

Спасибо.
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Экспорт в dbf, csv

Сообщение BeraleX »

Извините, пожалуйста.
Только после отправки примера на саппорт вспомнил, что эти отчеты строятся кодом без датабэнда. Можно как-нибудь исправить ситуацию при построении отчета, может подскажите, что необходимо добавить в код, чтобы они экспортировались, может есть искусственные обходные пути?
Заранее спасибо.
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Экспорт в dbf, csv

Сообщение Vital »

Здравствуйте,

К примеру можно располагать текстбоксы не на странице, а на датабэндах у которых свойство CountData равно 1. Если есть скажем 10 строк тексбоксов, то необходимо кинуть в отчет десять таких бэндом.

Спасибо.
Bordian
Сообщения: 2
Зарегистрирован: 09 фев 2011, 17:29
Откуда: Украина

Экспорт в dbf, csv

Сообщение Bordian »

Не получается настроить экспорт из кода в формат dbf.
Не могу задать свои названия и размерность полей в dbf-файле вместо стандарта. Для пробы использовал немного поправленный пример из инсталяционного пакета. (отчет - SimpleList.mrt, данные - demo.xml, demo.xsd)

На форуме нашел, что перед экспортом необходимо добавить:

Код: Выделить всё

   

            StiText text1 = report.GetComponentByName("textBox1") as StiText;
            text1.Tag.Value = "DBF: \"ColumnHeaderName\";";
[code]
Экспорт проходит, но со стандартными параметрами. 

У меня получился такой код:
[code]
	dataSet1.ReadXmlSchema(path + "Data\\Demo.xsd");
	dataSet1.ReadXml(path + "Data\\Demo.xml");
              ...

	StiReport report = new StiReport();
	report.RegData(dataSet1);

	report.Load(path + "Reports\\" + (string)lbReports.SelectedItem + ".mrt");
              ...
                StiText text1 = report.GetComponentByName("Text1") as StiText;
                text1.Tag.Value = "string : 10; DBF: \"CompanyName\"; ";
                report.Render();
                report.ExportDocument(StiExportFormat.Dbf, file);
	  System.Diagnostics.Process.Start(@"d:\test.dbf");
[code]
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Экспорт в dbf, csv

Сообщение Ivan »

Здравствуйте.

В поле Tag каждого текстбокса можно указать следующие элементы, которые управляют экспортом:
- ТипДанных [ : ДлинаПоля [ : ДлинаДробнойЧасти ] ]
- ТипЭкспорта : "НазваниеПоля"
- Column: "НазваниеПоля" "СтрокаДанных"

Несколько элементов должны разделяться точкой с запятой.
Элемент “Тип данных” может быть только один и должен располагаться первым, остальные элементы – по необходимости.
Примечание: если целая часть числа не вмещается в указанное поле, она обрезается, т.е. данные теряются. Например, если записать число «-12345,678» в поле «float:8:3», то получится «2345,678»

Элемент "ТипЭкспорта" указывает, для какого экспорта задается название поля. Допустимые значения: “dbf”, “csv”, “xml”, “default”. Элемент "НазваниеПоля" определяет, как будет называться поле в файле (для DBF строка автоматически урезается до 10 символов). Название можно указывать для каждого типа экспорта свое. Если название для какого-то экспорта не указано, то берется название для типа “default”; если его нет - берется название компонента. Например:

DBF : "Describe" ; XML : "Description" ; default: "Default name"

Примечание: если целая часть числа не вмещается в указанное поле, она обрезается, т.е. данные теряются. Например, если записать число «-12345,678» в поле «float:8:3», то получится «2345,678»

Элемент "Column" указывает, что в экспортируемые данные добавляется дополнительное поле. Элемент "НазваниеПоля" определяет название нового поля. Элемент "СтрокаДанных" определяет содержимое нового поля и может быть выражением. Например:

Column: "SortField" "{Products.Categories.CategoryName}"

Спасибо.
Bordian
Сообщения: 2
Зарегистрирован: 09 фев 2011, 17:29
Откуда: Украина

Экспорт в dbf, csv

Сообщение Bordian »

Ivan, спасибо.
Aleksey
Сообщения: 2906
Зарегистрирован: 22 апр 2010, 06:57

Экспорт в dbf, csv

Сообщение Aleksey »

Здравствуйте,

Всегда рады помочь. Сообщите, если понадобится дополнительная помощь.

Спасибо.
zmey
Сообщения: 19
Зарегистрирован: 14 авг 2012, 12:38

Re: Экспорт в dbf, csv

Сообщение zmey »

Здравствуйте,

Не могу настроить программный экспорт бизнес-объектов в dbf. Сделал датабэнд, прописал настройки экспорта в теги текстбоксов. На выходе получается что-то похожее на dbf-хидер размером 34 байта. Видимо, что-то я делаю неправильно. Хочется получить структуру из семи character(30) колонок dbase-III формата. Прилагаю проект с примером.

Кстати, в проект пришлось добавить сборку с классами бизнес-объектов, так как дизайнер не смог вытащить их из exe-файла. Не знаю, нормально ли это.

Спасибо.
Вложения
StiDbfExport.rar
(6.17 МБ) 292 скачивания
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Экспорт в dbf, csv

Сообщение HighAley »

Здравствуйте.

В DBF-файле отсутствуют данные, так как их нету в построенном отчёте.
Первая проблема, которая препятствует правильному построению отчёта в названии бизнес-объекта. В отчёте он называется Data.items, а в отчёте Data.Items. Поэтому создаётся второй бизнес-объект и туда помещаются данные.

Вторая проблема в формате значения свойства Tag. Имя поля в DBF файле должно быть в кавычках, как написано в разделе нашей документации.

Спасибо.
Ответить