C# kullanarak Excel'de Barkod Oluşturun

Excel, Microsoft tarafından geliştirilen ve yayınlanan bir elektronik tablo uygulamasıdır. En yaygın olarak formüller ve işlevlerle birlikte veri kümelerini depolamak, düzenlemek ve izlemek için kullanılır. Belirli durumlarda, belirli bilgileri gömmek için Excel dosyalarına barkodlar oluşturmamız ve eklememiz gerekebilir. .NET uygulamalarında programlı olarak XLSX veya XLS dosyalarına makine tarafından okunabilen barkod görüntüleri ekleyebiliriz. Bu yazımızda C# kullanarak Excel’de barkod oluşturmayı öğreneceğiz.

Makale aşağıdaki konuları kapsayacaktır:

Excel’de Barkod Oluşturmak için C# API’si

Excel elektronik tablolarına barkod eklemek için iki aşamalı bir prosedür izleyeceğiz. Bir Excel dosyası oluşturmak veya yüklemek için Aspose.Cells for .NET API’yi kullanacağız. API’nin Çalışma Kitabı sınıfı, yeni bir Excel çalışma kitabı oluşturmaya veya daha sonraki işlemler için mevcut bir Excel dosyasını yüklemeye izin verir. Bu sınıfın Save() yöntemi, Çalışma Kitabını verilen dosya yoluna kaydeder. API ayrıca tüm sayfa düzeyindeki işlemleri işlemek için bir Worksheet sınıfı sağlar.

Barkod görüntüsünü Aspose.BarCode for .NET API kullanarak oluşturup Excel sayfasına ekleyeceğiz. Belirtilen EncodeType barkodunu oluşturmak için BarcodeGenerator sınıfını sağlar. Bu sınıfın Save() yöntemi, barkod görüntüsünü belirli bir biçimde akış için kaydeder. Kaydetme biçimlerini belirtmek için BarCodeImageFormat numaralandırma sağlar. API ayrıca görüntülerden barkod okumak için BarCodeReader sınıfını da sağlar.

Lütfen API’lerin DLL’lerini indirin veya NuGet kullanarak kurun.

PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Cells

C# ile Excel Elektronik Tablosu Oluşturma ve Barkod Ekleme

Aşağıda verilen adımları izleyerek yeni bir Excel elektronik tablosu oluşturabilir ve Excel’e bir barkod görüntüsü ekleyebiliriz:

  1. İlk olarak, bağımsız değişken olarak kodlamak için EncodeType ve metin ile BarcodeGenerator sınıfının bir örneğini oluşturun.
  2. Ardından, bellek akışı nesnesinin bir örneğini oluşturun.
  3. Ardından, barkod görüntüsünü bellek akışına kaydetmek için Save() yöntemini çağırın.
  4. Ardından, Workbook sınıfının bir örneğini oluşturun.
  5. Ardından, Çalışma Kitabının WorksheetCollection bölümüne yeni bir Çalışma Sayfası ekleyin.
  6. Bundan sonra, akış nesnesi ve görüntü konumunu bağımsız değişken olarak kullanarak görüntüyü Çalışma Sayfasının PictureCollection öğesine ekleyin.
  7. Son olarak Save() yöntemini çağırın. Çıktı XLSX dosya yolunu bağımsız değişken olarak alır.

Aşağıdaki kod örneği, C# kullanarak yeni bir Excel elektronik tablosunun nasıl oluşturulacağını ve bir barkod görüntüsünün nasıl ekleneceğini gösterir.

// Bu kod örneği, Barkod'un yeni bir Excel dosyasına nasıl ekleneceğini gösterir.
// Belgeler dizininin yolu.
string dataDir = @"C:\Files\BarCode\";

// Doğrusal barkod nesnesini somutlaştırın, Barkod için Kod metnini ve semboloji türünü ayarlayın
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// Bellek akışı oluşturma ve barkod görüntüsünü bellek akışına kaydetme
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Bir Excel dosyasını temsil eden Excel sınıfını oluşturun
Workbook workbook = new Workbook();

// Yeni sayfa ekleme
Worksheet sheet = workbook.Worksheets.Add("MySheet");

// Add yöntemi aşağıdaki parametreleri alır:
// Sol üst sıra indeksi, sol üst sıra indeksi.
// Sol üst sütun dizini, sol üst sütunun dizini.
// Görüntü dosyası.
sheet.Pictures.Add(5, 5, ms);

// Dosya 'yı kaydet
workbook.Save(dataDir + "sample.xlsx");
C# kullanarak bir Excel Elektronik Tablosu oluşturun ve Barkod Ekleyin.

C# kullanarak bir Excel Elektronik Tablosu oluşturun ve Barkod Ekleyin.

C# ile Mevcut Excel Dosyasına Barkod Ekleme

Ayrıca, aşağıda verilen adımları izleyerek mevcut bir Excel çalışma kitabının herhangi bir sayfasına bir barkod görüntüsü ekleyebiliriz:

  1. İlk olarak, bağımsız değişken olarak kodlamak için EncodeType ve metin ile BarcodeGenerator sınıfının bir örneğini oluşturun.
  2. Ardından, bellek akışı nesnesinin bir örneğini oluşturun.
  3. Ardından, barkod görüntüsünü bellek akışına kaydetmek için Save() yöntemini çağırın.
  4. Ardından, Workbook sınıfını kullanarak mevcut bir Excel dosyasını yükleyin.
  5. Ardından, Çalışma Sayfasına dizinine göre erişin.
  6. Bundan sonra, bağımsız değişken olarak akış nesnesi ve görüntü konumu ile Add() yöntemini kullanarak görüntüyü PictureCollection’a ekleyin.
  7. Son olarak Save() yöntemini çağırın. Çıktı XLSX dosya yolunu bağımsız değişken olarak alır.

Aşağıdaki kod örneği, C# kullanarak varolan bir Excel dosyasına nasıl barkod görüntüsü ekleneceğini gösterir.

// Bu kod örneği, varolan bir Excel dosyasına nasıl Barkod ekleneceğini gösterir.
// Belgeler dizininin yolu.
string dataDir = @"C:\Files\BarCode\";

// Doğrusal barkod nesnesini somutlaştırın, Barkod için Kod metnini ve semboloji türünü ayarlayın
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// Bellek akışı oluşturma ve barkod görüntüsünü bellek akışına kaydetme
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Bir Excel dosyasını temsil eden Excel sınıfını oluşturun
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// Sayfaya dizininden erişin
Worksheet sheet = workbook.Worksheets[0];

// Add yöntemi aşağıdaki parametreleri alır:
// Sol üst sıra indeksi, sol üst sıra indeksi.
// Sol üst sütun dizini, sol üst sütunun dizini.
// Görüntü dosyası.
sheet.Pictures.Add(5, 5, ms);

// Dosya 'yı kaydet
workbook.Save(dataDir + "sample_out.xlsx");

C# ile Excel Dosyasına QR Kodu Ekleme

Benzer şekilde, daha önce bahsedilen adımları izleyerek Excel dosyasına bir QR kodu da ekleyebiliriz. Ancak sadece ilk adımda EncodeType’ı QR olarak ayarlamamız gerekiyor. Ayrıca 6. adımda görüntü konumunu ayarlamamız gerekebilir.

Aşağıdaki kod örneği, C# kullanarak bir Excel dosyasına QR kodunun nasıl ekleneceğini gösterir.

// Bu kod örneği, varolan bir Excel dosyasına QR kodunun nasıl ekleneceğini gösterir.
// Belgeler dizininin yolu.
string dataDir = @"C:\Files\BarCode\";

// Doğrusal barkod nesnesini somutlaştırın, Barkod için Kod metnini ve semboloji türünü ayarlayın
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// Bellek akışı oluşturma ve Barkod görüntüsünü bellek akışına kaydetme
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Bir Excel dosyasını temsil eden Excel sınıfını oluşturun
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// Sayfaya dizininden erişin
Worksheet sheet = workbook.Worksheets[0];

// Add yöntemi aşağıdaki parametreleri alır:
// Sol üst sıra indeksi, sol üst sıra indeksi.
// Sol üst sütun dizini, sol üst sütunun dizini.
// Görüntü dosyası.
sheet.Pictures.Add(5, 5, ms);

// Dosya 'yı kaydet
workbook.Save(dataDir + "sample_out_qr.xlsx");

C# kullanarak Excel Dosyasından Barkod Okuma

Aşağıda verilen adımları izleyerek Excel dosyasının herhangi bir sayfasına gömülü herhangi bir barkod görüntüsünü tanıyabiliriz:

  1. İlk olarak, Workbook sınıfını kullanarak mevcut bir Excel dosyasını yükleyin.
  2. Ardından, Çalışma Sayfasına dizinine göre erişin.
  3. Ardından, bir döngüde PictureCollection’dan akış için görüntüleri kaydedin.
  4. Ardından, bağımsız değişken olarak görüntü akışı ve DecodeType ile BarCodeReader sınıfının bir örneğini oluşturun.
  5. Bundan sonra, BarCodeResult nesnesini almak için ReadBarCodes() yöntemini çağırın.
  6. Son olarak barkod bilgilerini gösterin.

Aşağıdaki kod örneği, C# kullanarak bir Excel dosyasından bir barkod görüntüsünün nasıl okunacağını gösterir.

// Bu kod örneği, bir Excel dosyasından barkodun nasıl okunacağını gösterir.
// Belgeler dizininin yolu.
string dataDir = @"C:\Files\BarCode\";

// Bir Excel dosyasını temsil eden Excel sınıfını oluşturun
Workbook workbook = new Workbook(dataDir + "sample_out.xlsx");

Worksheet sheet = workbook.Worksheets[0];

// Bir döngüde akış için görüntüleri kaydedin
foreach(var img in sheet.Pictures)
{
  // Görüntüyü akışa kaydet
  MemoryStream imageStream = new MemoryStream();
  img.ToImage(imageStream, new Aspose.Cells.Rendering.ImageOrPrintOptions());

  // Barkodu yukarıdaki görüntü akışından tanıyın
  using (BarCodeReader reader = new BarCodeReader(imageStream, DecodeType.Code128))
  {
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
      Console.WriteLine("Codetext found: " + result.CodeType);
      Console.WriteLine("Symbology: " + result.CodeText);
    }
  }
}

Yukarıdaki kod örneği aşağıdaki çıktıyı üretecektir.

Codetext found: Code128
Symbology: 1234567

Ücretsiz Lisans Alın

Kitaplığı değerlendirme sınırlamaları olmadan denemek için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Bu makalede, şunların nasıl yapılacağını öğrendik:

  • programlı olarak bir Excel çalışma kitabı oluşturun;
  • Excel çalışma kitabına yeni bir sayfa ekleyin;
  • Excel elektronik tablosuna bir barkod görüntüsü oluşturun ve ekleyin;
  • bir Excel dosyasından bir barkod görüntüsünü okuyun.

Ayrıca, belgeleri kullanarak Aspose.BarCode for .NET API hakkında daha fazla bilgi edinebilirsiniz. Herhangi bir belirsizlik durumunda, lütfen forumda bizimle iletişime geçmekten çekinmeyin.

Ayrıca bakınız