Створення штрих-коду в Excel за допомогою C#

Excel — це електронна таблиця програма, розроблена та опублікована Microsoft. Він найчастіше використовується для зберігання, організації та відстеження наборів даних із формулами та функціями. У деяких випадках нам може знадобитися створити та додати штрих-коди у файли Excel, щоб вставити певну інформацію. Ми можемо додавати машинозчитувані зображення штрих-кодів до файлів XLSX або XLS програмним шляхом у програмах .NET. У цій статті ми дізнаємося, як створити штрих-код в Excel за допомогою C#.

Стаття повинна охоплювати такі теми:

C# API для генерації штрих-коду в Excel

Для додавання штрих-кодів до електронних таблиць Excel ми виконаємо двоетапну процедуру. Ми будемо використовувати API Aspose.Cells for .NET для створення або завантаження файлу Excel. Клас Workbook API дозволяє створити нову книгу Excel або завантажити наявний файл Excel для подальшої обробки. Метод Save() цього класу зберігає книгу за вказаним шляхом до файлу. API також надає клас Worksheet для обробки всіх операцій на рівні аркуша.

Ми створимо та додамо зображення штрих-коду на аркуш Excel за допомогою API Aspose.BarCode for .NET. Він надає клас BarcodeGenerator для створення штрих-коду вказаного EncodeType. Метод Save() цього класу зберігає зображення штрих-коду для потокового передавання в певному форматі. Він надає перелік BarCodeImageFormat для визначення форматів збереження. API також надає клас BarCodeReader для читання штрих-коду із зображень.

Завантажте DLL-файли API або встановіть їх за допомогою NuGet.

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

Створення електронної таблиці Excel і додавання штрих-коду в C#

Ми можемо створити нову електронну таблицю Excel і додати до неї зображення штрих-коду, виконавши наведені нижче дії.

  1. По-перше, створіть екземпляр класу BarcodeGenerator з EncodeType і текстом для кодування як аргументами.
  2. Далі створіть екземпляр об’єкта потоку пам’яті.
  3. Потім викличте метод Save(), щоб зберегти зображення штрих-коду в потік пам’яті.
  4. Далі створіть екземпляр класу Workbook.
  5. Потім додайте новий робочий аркуш до WorksheetCollection робочої книги.
  6. Після цього додайте зображення до PictureCollection аркуша з об’єктом потоку та положенням зображення як аргументи.
  7. Нарешті, викличте метод Save(). Він приймає вихідний шлях файлу XLSX як аргумент.

У наведеному нижче прикладі коду показано, як створити нову електронну таблицю Excel і додати зображення штрих-коду за допомогою C#.

// Цей приклад коду демонструє, як додати штрих-код до нового файлу Excel.
// Шлях до каталогу документів.
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);

// Створення екземпляра класу Excel, який представляє файл Excel
Workbook workbook = new Workbook();

// Додавання нового аркуша
Worksheet sheet = workbook.Worksheets.Add("MySheet");

// Метод Add приймає такі параметри:
// Індекс верхнього лівого ряду, індекс верхнього лівого ряду.
// Індекс лівого верхнього стовпця, індекс лівого верхнього стовпця.
// Файл зображення.
sheet.Pictures.Add(5, 5, ms);

// Збережіть файл
workbook.Save(dataDir + "sample.xlsx");
Створіть електронну таблицю Excel і додайте штрих-код за допомогою C#.

Створіть електронну таблицю Excel і додайте штрих-код за допомогою C#.

Додайте штрих-код до наявного файлу Excel у C#

Ми також можемо додати зображення штрих-коду на будь-який аркуш наявної книги Excel, виконавши наведені нижче дії.

  1. По-перше, створіть екземпляр класу BarcodeGenerator з EncodeType і текстом для кодування як аргументами.
  2. Далі створіть екземпляр об’єкта потоку пам’яті.
  3. Потім викличте метод Save(), щоб зберегти зображення штрих-коду в потік пам’яті.
  4. Далі завантажте наявний файл Excel за допомогою класу Workbook.
  5. Потім перейдіть до аркуша за його індексом.
  6. Після цього додайте зображення до PictureCollection за допомогою методу Add() з об’єктом потоку та позицією зображення як аргументами.
  7. Нарешті, викличте метод Save(). Він приймає вихідний шлях файлу XLSX як аргумент.

У наведеному нижче прикладі коду показано, як додати зображення штрих-коду до наявного файлу Excel за допомогою C#.

// Цей приклад коду демонструє, як додати штрих-код до наявного файлу Excel.
// Шлях до каталогу документів.
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);

// Створення екземпляра класу Excel, який представляє файл Excel
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-код до файлу Excel на C#

Подібним чином ми також можемо додати QR-код до файлу Excel, виконавши кроки, згадані раніше. Однак нам просто потрібно встановити EncodeType як QR на першому кроці. Нам також може знадобитися налаштувати положення зображення на кроці № 6.

У наведеному нижче прикладі коду показано, як додати QR-код до файлу Excel за допомогою C#.

// Цей приклад коду демонструє, як додати QR-код до наявного файлу Excel.
// Шлях до каталогу документів.
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);

// Створення екземпляра класу Excel, який представляє файл Excel
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");

Читання штрих-коду з файлу Excel за допомогою C#

Ми можемо розпізнати будь-яке зображення штрих-коду, вбудоване в будь-який аркуш файлу Excel, виконавши наведені нижче дії.

  1. По-перше, завантажте наявний файл Excel за допомогою класу Workbook.
  2. Потім перейдіть до аркуша за його індексом.
  3. Потім збережіть зображення для потокової передачі з PictureCollection у циклі.
  4. Далі створіть екземпляр класу BarCodeReader із потоком зображень і DecodeType як аргументи.
  5. Після цього викличте метод ReadBarCodes(), щоб отримати об’єкт BarCodeResult.
  6. Нарешті, покажіть інформацію про штрих-код.

У наведеному нижче прикладі коду показано, як читати зображення штрих-коду з файлу Excel за допомогою C#.

// Цей приклад коду демонструє, як читати штрих-код із файлу Excel.
// Шлях до каталогу документів.
string dataDir = @"C:\Files\BarCode\";

// Створення екземпляра класу Excel, який представляє файл Excel
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

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати бібліотеку без оціночних обмежень.

Висновок

У цій статті ми дізналися, як:

  • програмно створити книгу Excel;
  • додати новий аркуш у книгу Excel;
  • створити та додати зображення штрих-коду до таблиці Excel;
  • читати зображення штрих-коду з файлу Excel.

Крім того, ви можете дізнатися більше про Aspose.BarCode for .NET API за допомогою документації. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також