save_active_sheet_as_csv
Сохранить текущую активную таблицу в файл CSV без вопросов.
Вызов:
int ires = excel_request("save_active_sheet_as_csv", string filename);
Здесь:
filename - полный путь и имя файла куда сохранить текущую страницу Excel в виде файла CSV.
Пример.
Выбрать текущим файл "Управляющий файл.xlsm" (должен быть уже открытым в Excel).
Удалить, если уже существуют временные файлы чтобы программа при сохранении не запрашивала подтверждение.
Сохранить копию в файл "h:\1.xlsx".
Открыть его в Excel.
Сохранить его страницы в файлах "1_Имя таблицы.csv".
Закрыть файл "h:\1.xlsx",
int main()
{
excel_attach();
bool bexist;
int ires;
string sWorkBookUprFile = "Управляющий файл.xlsm";
ires = excel_request("workbook_select", sWorkBookUprFile);
if (ires != 0)
{
tsalert(-1, "Ошибка во время выполнения", "Не получается переключиться в файл excel", sWorkBookUprFile);
excel_detach();
return -1;
}
string filename = "h:\\1.tmp";
ires = shell_func("file", "is_exist", filename, bexist);
if (bexist)
{
cout << "Удаляем файл " << filename << "\n";
ires = shell_func("file", "delete", filename);
}
excel_request("save_copy_as", filename);
excel_request("workbook_open", filename);
ires = save_sheet_as_csv_file("Пироги стен");
if (ires != 0)
{
return;
}
ires = save_sheet_as_csv_file("Пироги колонн");
ires = save_sheet_as_csv_file("Пироги балок");
ires = save_sheet_as_csv_file("Пироги потолков");
ires = save_sheet_as_csv_file("Пироги низа и торца лестниц");
ires = save_sheet_as_csv_file("Пироги полов");
ires = save_sheet_as_csv_file("Плинтуса и торцы фундам. оборуд");
ires = save_sheet_as_csv_file("Узлы");
ires = save_sheet_as_csv_file("Слои_пирогов_отделки");
ires = save_sheet_as_csv_file("Слои_пирогов_полов");
excel_request("workbook_close");
excel_detach();
}
int save_sheet_as_csv_file(string sSheetName)
{
bool bexist;
int ires = excel_request("sheet_select", sSheetName);
if (ires != 0) {
tsalert(-1, "Ошибка во время выполнения", "Не получается переключиться на страницу", sSheetName);
excel_detach();
return -1;
}
string filename;
filename = "h:\\1_" + sSheetName + ".csv";
ires = shell_func("file", "is_exist", filename, bexist);
if (bexist)
{
cout << "Удаляем файл " << filename << "\n";
ires = shell_func("file", "delete", filename);
}
ires = excel_request("save_active_sheet_as_csv", filename);
return ires;
}