export_to_csv
Выгрузить содержимое таблицы в текстовую переменную.
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);
}