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
- Konwersja plików Excela do formatu CSV przy użyciu C++
- Konwertuj arkusze programu Excel na pliki CSV
- Konwersja plików CSV do formatu Excel przy użyciu C++
- Uzyskaj bezpłatną licencję
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++.
- Załaduj plik programu Excel przy użyciu klasy IWorkbook.
- Zapisz plik jako CSV, używając polecenia IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String nazwa_pliku, metoda Aspose::Cells::SaveFormat saveFormat).
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.
- Załaduj plik programu Excel przy użyciu klasy IWorkbook.
- Pobierz arkusze za pomocą metody IWorkbook->GetIWorksheets().
- Przejrzyj w pętli pobrane arkusze.
- W pętli możesz określić niestandardową logikę, aby przekonwertować określone arkusze na pliki CSV. W tej demonstracji wszystkie arkusze są konwertowane na pliki CSV.
- Pobierz arkusz do konwersji za pomocą metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Utwórz instancję klasy IWorkbook reprezentującą nowy plik CSV.
- Skopiuj poprzednio pobrany arkusz do nowej instancji skoroszytu za pomocą IWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy (intrusiveptrAspose::Cells::IWorksheet sourceSheet) metoda.
- Zapisz nowy skoroszyt jako plik CSV, używając opcji IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) metoda.
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++.
- Utwórz instancję klasy ILoadOptions.
- Utwórz obiekt klasy IWorkbook przy użyciu utworzonej wcześniej instancji ILoadOptions.
- Zapisz plik w formacie Excel, używając opcji IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) metoda.
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.