Выгрузить содержимое таблицы в текстовую переменную.


ts_table(iTable, "export_to_csv", bool bWithHeadings, string column_separator, string digit_separator, int start_row, int numrows, string csv_result);


Здесь:

iTable - дескриптор таблицы,

bWithHeadings - выводить заголовки таблицы или нет,

column_separator - символ разделителя колонок - обычно ";",

digit_separator - разделитель целой и дробной частей чисел - обычно ",",

start_row - с какой строки выводить таблицу,

num_rows - сколько строк выводить (если -1 - то выводить все);



Пример


//***********************************************

// Импорт ts_table из текста в формате CSV 

// и экспорт в этот формат

// LABPP 2021

//***********************************************

int main()

{

       int iTable;

       object("create", "ts_table", iTable);


       string csvstr;

       csvstr = "\"Заголовок 1\";\"Заголовок 2\";\"Заголовок 3\"\n\

\"Значение 11 две кавычки \"\" текст\";123.3;\"Значение 31\"\n\

\"Значение 12\";321.21;\"Значение 32\"";


       ts_table(iTable, "import_from_csv", csvstr, ";");

       string str;

       ts_table(iTable, "print_to_str", str);

       coutvar << str;


       string csv_result;

       ts_table(iTable, "export_to_csv", true, ";", "," , 0, -1, csv_result);

       coutvar << csv_result;


       string FileNameAndPath = "c:\\LabPP\\test_07.csv";

       int iret = 0;

       int iFileDescr;

       object("create", "ts_file", iFileDescr);

       iret = ts_file(iFileDescr, "open", FileNameAndPath, "create", "we");

       if (iret == 0)

       {

               ts_file(iFileDescr, "write", csv_result);

               ts_file(iFileDescr, "close");

       }

       else

       {

               tsalert(-3, "Ошибка записи", "Проверьте, пожалуйста доступность файла для записи", FileNameAndPath);

       }

       object("delete", iFileDescr);

       object("delete", iTable);

}