C++ kullanarak Excel'i CSV'ye ve CSV'yi Excel'e dönüştürün

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

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.

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.

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.

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.

Ayrıca bakınız