Перетворіть Excel у CSV і CSV у Excel за допомогою C++

Excel є популярним форматом для обміну інформацією. Ви можете опинитися в ситуації, коли у вас є дані у файлі Excel(XLS або XLSX), які потрібно імпортувати до бази даних. Для цього вам потрібно буде конвертувати файл Excel у формат CSV. З іншого боку, у вас можуть бути дані у форматі CSV, експортовані з бази даних, якими вам потрібно буде далі маніпулювати у файлі Excel. У таких випадках вам потрібно буде конвертувати файл CSV у формат Excel. У цій статті ви дізнаєтесь, як виконати обидва ці перетворення програмним шляхом за допомогою C++.

C++ API для перетворення файлів Excel у формат CSV і файлів CSV у формат Excel

Aspose.Cells for C++ — це рідна бібліотека C++, яка дозволяє створювати, читати та змінювати файли Excel. Крім того, API підтримує перетворення файлів Excel у формат CSV і навпаки. Ви можете встановити API через NuGet або завантажити його безпосередньо з розділу Завантаження.

PM> Install-Package Aspose.Cells.Cpp

Перетворення файлів Excel у формат CSV за допомогою C++

З Aspose.Cells for C++ API конвертувати файли Excel у формат CSV дуже просто. Нижче наведено кроки для перетворення файлів Excel у формат CSV за допомогою C++.

Нижче наведено зразок коду для перетворення файлів Excel у формат CSV.

// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\");

// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");

// Завантажте вхідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Збережіть вихідний файл CSV
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);

Перетворюйте робочі аркуші Excel у файли CSV

Попередній приклад перетворює лише перший аркуш, якщо файл Excel містить кілька аркушів. Якщо ви хочете конвертувати кілька аркушів у формат CSV, виконайте наведені нижче дії.

Нижче наведено зразок коду для перетворення робочих аркушів Excel у файли CSV за допомогою C++.

// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\");

// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");

// Завантажте файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Отримайте аркуші робочого зошита.
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// Створіть об’єкт конструктора рядків для конкатенації рядків.
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();

for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
	// Отримайте аркуш для копіювання
	intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);

	// Створіть екземпляр класу IWorkbook для представлення нової книги
	intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();

	// Скопіюйте попередньо отриманий аркуш до нової книги
	newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);

	// Очистити конструктор рядків і створити вихідний шлях із конкатенаціями рядків.
	stringBuilder->Clear();
	stringBuilder->Append(outDir);
	stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
	stringBuilder->Append(sheet);
	stringBuilder->Append((StringPtr)new String("_out.csv"));

	// Збережіть вихідний файл CSV
	newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}

Перетворення файлів CSV у формат Excel за допомогою C++

Нижче наведено кроки для перетворення файлів CSV у формат Excel за допомогою C++.

Нижче наведено зразок коду для перетворення файлів CSV у формат Excel за допомогою C++.

// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\");

// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");

// Створіть об’єкт CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// Завантажте вхідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// Збережіть вихідний файл CSV
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_Xlsx);

Отримайте безкоштовну ліцензію

Ви можете спробувати API без оціночних обмежень, надіславши запит на безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як конвертувати файли Excel у формат CSV і файли CSV у формат Excel (XLS/XLSX) за допомогою C++. Aspose.Cells for C++ — це величезний API, який надає багато додаткових функцій для роботи з файлами Excel. Ви можете детально вивчити API, використовуючи офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також