Excel є популярним форматом для обміну інформацією. Ви можете опинитися в ситуації, коли у вас є дані у файлі Excel(XLS або XLSX), які потрібно імпортувати до бази даних. Для цього вам потрібно буде конвертувати файл Excel у формат CSV. З іншого боку, у вас можуть бути дані у форматі CSV, експортовані з бази даних, якими вам потрібно буде далі маніпулювати у файлі Excel. У таких випадках вам потрібно буде конвертувати файл CSV у формат Excel. У цій статті ви дізнаєтесь, як виконати обидва ці перетворення програмним шляхом за допомогою C++.
- C++ API для перетворення файлів Excel у формат CSV і файлів CSV у формат Excel
- Перетворення файлів Excel у формат CSV за допомогою C++
- Перетворюйте робочі аркуші Excel у файли CSV
- Перетворення файлів 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 за допомогою класу IWorkbook.
- Збережіть файл як CSV за допомогою IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName, метод Aspose::Cells::SaveFormat saveFormat).
Нижче наведено зразок коду для перетворення файлів 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 за допомогою класу IWorkbook.
- Отримайте аркуші за допомогою методу IWorkbook->GetIWorksheets().
- Перегляньте отримані аркуші.
- У циклі ви можете вказати власну логіку для перетворення окремих робочих аркушів у файли CSV. У цій демонстрації всі аркуші перетворюються на файли CSV.
- Отримайте робочий аркуш, який потрібно перетворити, використовуючи метод IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Створіть екземпляр класу IWorkbook для представлення нового файлу CSV.
- Скопіюйте попередньо отриманий аркуш до нового екземпляра робочої книги за допомогою IWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Копіювати (intrusiveptrAspose::Cells::IWorksheet sourceSheet) метод.
- Збережіть нову книгу як CSV за допомогою IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, метод Aspose::Cells::SaveFormat saveFormat).
Нижче наведено зразок коду для перетворення робочих аркушів 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++.
- Створіть екземпляр класу ILoadOptions.
- Створіть об’єкт класу IWorkbook, використовуючи створений раніше екземпляр ILoadOptions.
- Збережіть файл у форматі Excel за допомогою IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, метод Aspose::Cells::SaveFormat saveFormat).
Нижче наведено зразок коду для перетворення файлів 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, використовуючи офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.