csv
Скрипты
Разработка

выгрузка в csv

Добрый день!
Подскажите, пожалуйста,
как можно выгрузить в скрипте данные из датасета в формат csv?

Нравится

5 комментариев

К примеру, выгрузим в csv файл, имя контрагента, ответственного и вид деятельности
[javascript]
var Dataset = dlData.Dataset;
var CopyDataset = Dataset.CreateCopy();
var fso = System.CreateObject("Scripting.FileSystemObject");
try
{
var f = fso.CreateTextFile("C:\\test.csv", true);
} catch (e) {}
CopyDataset.Open();
CopyDataset.GotoFirst();
var s;
while(!CopyDataset.IsEOF) {

s = CopyDataset('Name');
Owner = GetFieldValueFromDisabledField(CopyDataset, 'OwnerName');
if (Owner !== null) {
s = s + ',' + Owner;}
Activity = GetFieldValueFromDisabledField(CopyDataset, 'ActivityName');
if (Activity !== null) {
s = s + ',' + Activity;}
f.writeline(s);
CopyDataset.GotoNext();
}
CopyDataset.Close ();
f.Close();
MessageBox('Exported');
[/javascript]
dlData - не визуальный компонент окна, к которому привязан DataSet
Данный код предполагает что есть DataSet в котором выгружаются поля Name - имя контрагента,
OwnerName - ответственный, ActivityName - вид деятельности, данные для дата сета берутся с соответствующего сервиса Select Query

Спасибо большое.
А если нужно выбирать путь и название файла?

Вы имеете в виду открывать окно выбора файла (OpenDialog) как на пример в notepad при нажатии Файл -> Открыть ?

Да, т.е. необходимо, чтобы путь "C:\\test.csv" был не зашит в скрипте, а выбирался

Предлагаю использовать конструкцию:
[javascript]
var FileName = System.CreateObject('TSObjectLibrary.Value');
if (!(System.OpenDialog(FileName, '*.*', EmptyStr,
"Выберете файл", EmptyStr)))
{
return;
}
MessageBox(FileName.Value);
[/javascript]

MessageBox(FileName.Value) тут выводиться для проверки результатов.
Также предлагаю посмотреть тему http://community.terrasoft.ru/forum/topic/1060

Показать все комментарии