Konwertuj Excel na CSV i CSV na Excel przy użyciu C++

Excel to popularny format udostępniania informacji. Możesz znaleźć się w sytuacji, w której masz dane w pliku Excel (XLS lub XLSX), które musisz zaimportować do bazy danych. W tym celu należy przekonwertować plik programu Excel do formatu CSV. Z drugiej strony możesz mieć dane w formacie CSV wyeksportowane z bazy danych, którymi musisz dalej manipulować w pliku Excel. W takich przypadkach musisz przekonwertować plik CSV na format Excela. W tym artykule dowiesz się, jak wykonać obie te konwersje programowo przy użyciu C++.

C++ API do konwersji plików Excel do formatu CSV i CSV do formatu Excel

Aspose.Cells for C++ to natywna biblioteka C++, która umożliwia tworzenie, odczytywanie i modyfikowanie plików Excel. Ponadto interfejs API obsługuje konwersję plików Excel do formatu CSV i odwrotnie. Możesz zainstalować API przez NuGet lub pobrać bezpośrednio z sekcji Downloads.

PM> Install-Package Aspose.Cells.Cpp

Konwersja plików Excela do formatu CSV przy użyciu C++

Konwersja plików Excela do formatu CSV to pestka dzięki Aspose.Cells for C++ API. Poniżej przedstawiono kroki konwersji plików programu Excel do formatu CSV przy użyciu języka C++.

Poniżej znajduje się przykładowy kod do konwersji plików programu Excel do formatu CSV.

// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");

// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");

// Załaduj wejściowy plik Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Zapisz wyjściowy plik CSV
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);

Konwertuj arkusze programu Excel na pliki CSV

Poprzedni przykład konwertuje tylko pierwszy arkusz, jeśli plik programu Excel zawiera wiele arkuszy. Jeśli chcesz przekonwertować wiele arkuszy do formatu CSV, możesz wykonać następujące kroki.

Poniżej znajduje się przykładowy kod służący do konwertowania arkuszy programu Excel na pliki CSV przy użyciu języka C++.

// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");

// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");

// Załaduj plik Excela
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Pobierz arkusze ze skoroszytu.
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// Utwórz obiekt konstruktora ciągów dla konkatenacji ciągów.
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();

for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
	// Pobierz arkusz do skopiowania
	intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);

	// Utwórz instancję klasy IWorkbook, która będzie reprezentować nowy skoroszyt
	intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();

	// Skopiuj poprzednio pobrany arkusz do nowego skoroszytu
	newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);

	// Wyczyść konstruktor ciągów i utwórz ścieżkę wyjściową z konkatenacjami ciągów.
	stringBuilder->Clear();
	stringBuilder->Append(outDir);
	stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
	stringBuilder->Append(sheet);
	stringBuilder->Append((StringPtr)new String("_out.csv"));

	// Zapisz wyjściowy plik CSV
	newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}

Konwersja plików CSV do formatu Excel przy użyciu C++

Poniżej przedstawiono kroki konwersji plików CSV do formatu Excel przy użyciu języka C++.

Poniżej znajduje się przykładowy kod służący do konwertowania plików CSV do formatu programu Excel przy użyciu języka C++.

// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");

// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");

// Utwórz obiekt CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// Załaduj wejściowy plik Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// Zapisz wyjściowy plik CSV
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_Xlsx);

Uzyskaj bezpłatną licencję

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się, jak konwertować pliki Excel do formatu CSV i pliki CSV do formatu Excel (XLS/XLSX) za pomocą C++. Aspose.Cells for C++ to rozbudowany interfejs API, który zapewnia wiele dodatkowych funkcji do pracy z plikami Excel. Możesz szczegółowo zapoznać się z interfejsem API, korzystając z oficjalnej dokumentacji. W przypadku jakichkolwiek pytań skontaktuj się z nami na naszym darmowym forum pomocy technicznej.

Zobacz też