تولید بارکد در اکسل با استفاده از سی شارپ

اکسل یک برنامه صفحه گسترده است که توسط مایکروسافت توسعه و منتشر شده است. معمولاً برای ذخیره، سازماندهی و ردیابی مجموعه داده ها با فرمول ها و توابع استفاده می شود. در موارد خاص، ممکن است نیاز به تولید و اضافه کردن بارکد در فایل‌های اکسل برای جاسازی اطلاعات خاص داشته باشیم. می‌توانیم تصاویر بارکد قابل خواندن توسط ماشین را به فایل‌های XLSX یا XLS به صورت برنامه‌نویسی در برنامه‌های NET اضافه کنیم. در این مقاله با نحوه تولید بارکد در اکسل با استفاده از سی شارپ آشنا می شویم.

مقاله باید موضوعات زیر را پوشش دهد:

C# API برای تولید بارکد در اکسل

برای افزودن بارکد به صفحات گسترده اکسل، یک روش دو مرحله ای را دنبال می کنیم. ما از Aspose.Cells for .NET API برای ایجاد یا بارگذاری یک فایل اکسل استفاده خواهیم کرد. کلاس Workbook API اجازه ایجاد یک کتاب کار جدید اکسل یا بارگیری یک فایل اکسل موجود برای پردازش بیشتر را می دهد. متد Save() این کلاس Workbook را در مسیر فایل داده شده ذخیره می کند. API همچنین یک کلاس Worksheet را برای مدیریت تمام عملیات سطح برگ ارائه می دهد.

تصویر بارکد را با استفاده از Aspose.BarCode for .NET API تولید و به صفحه اکسل اضافه می کنیم. کلاس BarcodeGenerator را برای تولید بارکد EncodeType مشخص شده فراهم می کند. متد Save() این کلاس، تصویر بارکد را برای پخش در یک فرمت خاص ذخیره می‌کند. برای تعیین فرمت های ذخیره، شمارش BarCodeImageFormat را فراهم می کند. API همچنین کلاس BarCodeReader را برای خواندن بارکد از روی تصاویر فراهم می کند.

لطفاً DLLهای APIها را دانلود یا با استفاده از NuGet نصب کنید.

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

ایجاد صفحه گسترده اکسل و اضافه کردن بارکد در سی شارپ

با دنبال کردن مراحل زیر می‌توانیم یک صفحه گسترده اکسل ایجاد کنیم و یک تصویر بارکد به اکسل اضافه کنیم:

  1. ابتدا یک نمونه از کلاس BarcodeGenerator با EncodeType و متنی برای رمزگذاری به عنوان آرگومان ایجاد کنید.
  2. در مرحله بعد، یک نمونه از شی جریان حافظه ایجاد کنید.
  3. سپس متد Save() را فراخوانی کنید تا تصویر بارکد در جریان حافظه ذخیره شود.
  4. سپس یک نمونه از کلاس Workbook ایجاد کنید.
  5. سپس، یک کاربرگ جدید به WorksheetCollection کتاب کار اضافه کنید.
  6. پس از آن، تصویر را به PictureCollection کاربرگ با شی جریان و موقعیت تصویر به عنوان آرگومان اضافه کنید.
  7. در نهایت متد Save() را فراخوانی کنید. مسیر فایل خروجی XLSX را به عنوان آرگومان می گیرد.

مثال کد زیر نحوه ایجاد یک صفحه گسترده اکسل جدید و اضافه کردن یک تصویر بارکد با استفاده از C# را نشان می دهد.

// این مثال کد نحوه اضافه کردن بارکد به فایل اکسل جدید را نشان می دهد.
// مسیر دایرکتوری اسناد
string dataDir = @"C:\Files\BarCode\";

// شیء بارکد خطی را نمونه‌سازی کنید، متن کد و نوع نماد را برای بارکد تنظیم کنید
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// ایجاد جریان حافظه و ذخیره تصویر بارکد در جریان حافظه
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// کلاس اکسل را که نمایانگر یک فایل اکسل است، ایجاد کنید
Workbook workbook = new Workbook();

// افزودن برگه جدید
Worksheet sheet = workbook.Worksheets.Add("MySheet");

// متد Add پارامترهای زیر را می گیرد:
// نمایه ردیف بالا سمت چپ، نمایه ردیف بالا سمت چپ.
// نمایه ستون بالا سمت چپ، نمایه ستون بالا سمت چپ.
// فایل تصویری.
sheet.Pictures.Add(5, 5, ms);

// فایل را ذخیره کنید
workbook.Save(dataDir + "sample.xlsx");
یک صفحه گسترده اکسل ایجاد کنید و یک بارکد با استفاده از C# اضافه کنید.

یک صفحه گسترده اکسل ایجاد کنید و یک بارکد با استفاده از C# اضافه کنید.

اضافه کردن بارکد به فایل اکسل موجود در سی شارپ

همچنین می‌توانیم با دنبال کردن مراحل زیر، یک تصویر بارکد را به هر صفحه از یک کتاب کار اکسل موجود اضافه کنیم:

  1. ابتدا یک نمونه از کلاس BarcodeGenerator با EncodeType و متنی برای رمزگذاری به عنوان آرگومان ایجاد کنید.
  2. در مرحله بعد، یک نمونه از شی جریان حافظه ایجاد کنید.
  3. سپس متد Save() را فراخوانی کنید تا تصویر بارکد در جریان حافظه ذخیره شود.
  4. سپس یک فایل اکسل موجود را با استفاده از کلاس Workbook بارگذاری کنید.
  5. سپس، به کاربرگ از طریق فهرست آن دسترسی پیدا کنید.
  6. پس از آن، تصویر را با استفاده از متد Add() با شی جریان و موقعیت تصویر به عنوان آرگومان به PictureCollection اضافه کنید.
  7. در نهایت متد Save() را فراخوانی کنید. مسیر فایل خروجی XLSX را به عنوان آرگومان می گیرد.

مثال کد زیر نحوه افزودن یک تصویر بارکد به فایل اکسل موجود با استفاده از سی شارپ را نشان می دهد.

// این مثال کد نحوه اضافه کردن بارکد به فایل اکسل موجود را نشان می دهد.
// مسیر دایرکتوری اسناد
string dataDir = @"C:\Files\BarCode\";

// شیء بارکد خطی را نمونه‌سازی کنید، متن کد و نوع نماد را برای بارکد تنظیم کنید
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code128, "1234567");

// ایجاد جریان حافظه و ذخیره تصویر بارکد در جریان حافظه
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// کلاس اکسل را که نمایانگر یک فایل اکسل است، ایجاد کنید
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// به برگه با نمایه آن دسترسی داشته باشید
Worksheet sheet = workbook.Worksheets[0];

// متد Add پارامترهای زیر را می گیرد:
// نمایه ردیف بالا سمت چپ، نمایه ردیف بالا سمت چپ.
// نمایه ستون بالا سمت چپ، نمایه ستون بالا سمت چپ.
// فایل تصویری.
sheet.Pictures.Add(5, 5, ms);

// فایل را ذخیره کنید
workbook.Save(dataDir + "sample_out.xlsx");

افزودن کد QR به فایل اکسل در سی شارپ

به همین ترتیب، می‌توانیم با انجام مراحلی که قبلاً ذکر شد، یک کد QR به فایل اکسل اضافه کنیم. با این حال، ما فقط باید EncodeType را در مرحله اول به عنوان QR تنظیم کنیم. همچنین ممکن است لازم باشد موقعیت تصویر را در مرحله 6 تنظیم کنیم.

مثال کد زیر نشان می دهد که چگونه می توان یک کد QR را با استفاده از سی شارپ به فایل اکسل اضافه کرد.

// این مثال کد نحوه افزودن کد QR را به فایل اکسل موجود نشان می دهد.
// مسیر دایرکتوری اسناد
string dataDir = @"C:\Files\BarCode\";

// شیء بارکد خطی را نمونه‌سازی کنید، متن کد و نوع نماد را برای بارکد تنظیم کنید
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567");

// ایجاد جریان حافظه و ذخیره تصویر بارکد در جریان حافظه
System.IO.Stream ms = new System.IO.MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// کلاس اکسل را که نمایانگر یک فایل اکسل است، ایجاد کنید
Workbook workbook = new Workbook(dataDir + "sample.xlsx");

// به برگه با نمایه آن دسترسی داشته باشید
Worksheet sheet = workbook.Worksheets[0];

// متد Add پارامترهای زیر را می گیرد:
// نمایه ردیف بالا سمت چپ، نمایه ردیف بالا سمت چپ.
// نمایه ستون بالا سمت چپ، نمایه ستون بالا سمت چپ.
// فایل تصویری.
sheet.Pictures.Add(5, 5, ms);

// فایل را ذخیره کنید
workbook.Save(dataDir + "sample_out_qr.xlsx");

خواندن بارکد از فایل اکسل با استفاده از سی شارپ

با دنبال کردن مراحل زیر می توانیم هر تصویر بارکد تعبیه شده در هر برگه فایل اکسل را تشخیص دهیم:

  1. ابتدا یک فایل اکسل موجود را با استفاده از کلاس Workbook بارگذاری کنید.
  2. سپس، به کاربرگ با نمایه آن دسترسی پیدا کنید.
  3. سپس، تصاویر را ذخیره کنید تا از PictureCollection در یک حلقه پخش شوند.
  4. سپس، یک نمونه از کلاس BarCodeReader با جریان تصویر و DecodeType به عنوان آرگومان ایجاد کنید.
  5. پس از آن، متد ReadBarCodes() را فراخوانی کنید تا شی BarCodeResult را دریافت کنید.
  6. در نهایت اطلاعات بارکد را نشان دهید.

مثال کد زیر نحوه خواندن یک تصویر بارکد از یک فایل اکسل را با استفاده از C# نشان می دهد.

// این مثال کد نحوه خواندن بارکد از فایل اکسل را نشان می دهد.
// مسیر دایرکتوری اسناد
string dataDir = @"C:\Files\BarCode\";

// کلاس اکسل را که نمایانگر یک فایل اکسل است، ایجاد کنید
Workbook workbook = new Workbook(dataDir + "sample_out.xlsx");

Worksheet sheet = workbook.Worksheets[0];

// تصاویر را برای پخش در یک حلقه ذخیره کنید
foreach(var img in sheet.Pictures)
{
  // ذخیره تصویر برای پخش جریانی
  MemoryStream imageStream = new MemoryStream();
  img.ToImage(imageStream, new Aspose.Cells.Rendering.ImageOrPrintOptions());

  // بارکد را از جریان تصویر بالا تشخیص دهید
  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);
    }
  }
}

نمونه کد بالا باید خروجی زیر را تولید کند.

Codetext found: Code128
Symbology: 1234567

مجوز رایگان دریافت کنید

می‌توانید [یک مجوز موقت رایگان] دریافت کنید21 تا کتابخانه را بدون محدودیت ارزیابی امتحان کنید.

نتیجه

در این مقاله یاد گرفتیم که چگونه:

  • ایجاد یک کتاب کار اکسل به صورت برنامه نویسی.
  • یک برگه جدید در کتاب کار اکسل اضافه کنید.
  • ایجاد و اضافه کردن یک تصویر بارکد به صفحه گسترده اکسل.
  • یک تصویر بارکد را از یک فایل اکسل بخوانید.

علاوه بر این، می توانید با استفاده از مستندات درباره Aspose.BarCode for .NET API اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهام، لطفاً با ما در تالار گفتمان تماس بگیرید.

همچنین ببینید