Excel, bilgi paylaşımı için popüler bir formattır. Kendinizi, bir veritabanına aktarmanız gereken bir Excel(XLS veya XLSX) dosyasında verileriniz olduğu durumlarda bulabilirsiniz. Bunun için Excel dosyasını CSV formatına dönüştürmeniz gerekir. Öte yandan, bir Excel dosyasında daha fazla işlemeniz gereken bir veritabanından dışa aktarılan CSV biçiminde verileriniz olabilir. Bu gibi durumlarda, CSV dosyasını Excel formatına dönüştürmeniz gerekir. Bu makalede, C++ kullanarak bu iki dönüştürmeyi programlı olarak nasıl gerçekleştireceğinizi öğreneceksiniz.
- Excel Dosyalarını CSV’ye ve CSV dosyalarını Excel Formatına Dönüştürmek için C++ API
- C++ kullanarak Excel dosyalarını CSV biçimine dönüştürme
- Excel Çalışma Sayfalarını CSV dosyalarına dönüştürün
- CSV dosyalarını C++ kullanarak Excel biçimine dönüştürme
- Ücretsiz Lisans Alın
Excel Dosyalarını CSV’ye ve CSV dosyalarını Excel Formatına Dönüştürmek için C++ API
Aspose.Cells for C++, Excel dosyaları oluşturmanıza, okumanıza ve değiştirmenize olanak sağlayan yerel bir C++ kitaplığıdır. Ayrıca API, Excel dosyalarının CSV biçimine dönüştürülmesini ve bunun tersini de destekler. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan İndirilenler bölümünden indirebilirsiniz.
PM> Install-Package Aspose.Cells.Cpp
C++ kullanarak Excel dosyalarını CSV biçimine dönüştürme
Aspose.Cells for C++ API ile Excel dosyalarını CSV formatına dönüştürmek çok kolay. Aşağıda, Excel dosyalarını C++ kullanarak CSV biçimine dönüştürme adımları yer almaktadır.
- IWorkbook sınıfını kullanarak Excel dosyasını yükleyin.
- IWorkbook->Save(intrusiveptr) kullanarak dosyayı CSV olarak kaydedin.Aspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) yöntemi.
Excel dosyalarını CSV biçimine dönüştürmek için örnek kod aşağıdadır.
// Kaynak dizin yolu.
StringPtr srcDir = new String("SourceDirectory\\");
// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");
// Giriş Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Çıktı CSV dosyasını kaydet
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);
Excel Çalışma Sayfalarını CSV dosyalarına dönüştürün
Önceki örnek, Excel dosyası birden çok çalışma sayfası içeriyorsa yalnızca ilk çalışma sayfasını dönüştürür. Birden fazla çalışma sayfasını CSV formatına dönüştürmek istemeniz durumunda aşağıdaki adımları takip edebilirsiniz.
- IWorkbook sınıfını kullanarak Excel dosyasını yükleyin.
- IWorkbook->GetIWorksheets() yöntemini kullanarak çalışma sayfalarını alın.
- Alınan çalışma sayfalarında döngü yapın.
- Döngü içinde, belirli çalışma sayfalarını CSV dosyalarına dönüştürmek için özel mantığınızı belirtebilirsiniz. Bu gösteride, tüm çalışma sayfaları CSV dosyalarına dönüştürülür.
- IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) yöntemini kullanarak dönüştürülecek çalışma sayfasını alın.
- Yeni bir CSV dosyasını temsil etmek için IWorkbook sınıfının bir örneğini oluşturun.
- IWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy (intrusiveptr)‘yi kullanarak önceden alınan çalışma sayfasını yeni çalışma kitabı örneğine kopyalayınAspose::Cells::IWorksheet sourceSheet) yöntemi.
- IWorkbook->Save (intrusiveptr) seçeneğini kullanarak yeni çalışma kitabını CSV olarak kaydedin.Aspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) yöntemi.
Aşağıda, Excel çalışma sayfalarını C++ kullanarak CSV dosyalarına dönüştürmek için örnek kod verilmiştir.
// Kaynak dizin yolu.
StringPtr srcDir = new String("SourceDirectory\\");
// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");
// Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Çalışma kitabının çalışma sayfalarını alın.
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();
// Dize birleştirmeleri için dize oluşturucu nesnesi oluşturun.
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();
for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
// Kopyalanacak çalışma sayfasını alın
intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);
// Yeni çalışma kitabını temsil etmesi için IWorkbook sınıfının bir örneğini oluşturun
intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();
// Daha önce alınan çalışma sayfasını yeni çalışma kitabına kopyalayın
newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);
// Dize oluşturucuyu temizleyin ve dize birleştirmeleriyle çıktı yolu oluşturun.
stringBuilder->Clear();
stringBuilder->Append(outDir);
stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
stringBuilder->Append(sheet);
stringBuilder->Append((StringPtr)new String("_out.csv"));
// Çıktı CSV dosyasını kaydet
newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}
CSV dosyalarını C++ kullanarak Excel biçimine dönüştürme
CSV dosyalarını C++ kullanarak Excel biçimine dönüştürme adımları aşağıda verilmiştir.
- ILoadOptions sınıfının bir örneğini oluşturun.
- Daha önce oluşturulan ILoadOptions örneğini kullanarak IWorkbook sınıfından bir nesne oluşturun.
- IWorkbook->Save (intrusiveptr) seçeneğini kullanarak dosyayı Excel formatında kaydedin.Aspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) yöntemi.
CSV dosyalarını C++ kullanarak Excel biçimine dönüştürmek için örnek kod aşağıdadır.
// Kaynak dizin yolu.
StringPtr srcDir = new String("SourceDirectory\\");
// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");
// CSV LoadOptions nesnesi oluştur
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);
// Giriş Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);
// Çıktı CSV dosyasını kaydet
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_Xlsx);
Ücretsiz Lisans Alın
Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmaksızın deneyebilirsiniz.
Çözüm
Bu makalede, C++ kullanarak Excel dosyalarını CSV formatına ve CSV dosyalarını Excel (XLS/XLSX) formatına nasıl dönüştüreceğinizi öğrendiniz. Aspose.Cells for C++, Excel dosyalarıyla çalışmak için birçok ek özellik sağlayan geniş bir API’dir. Resmi belgeleri kullanarak API’yi ayrıntılı olarak inceleyebilirsiniz. Herhangi bir sorunuz olursa lütfen ücretsiz destek forumumuzda bize ulaşmaktan çekinmeyin.