C#을 사용하여 Excel에서 바코드 생성

Excel은 Microsoft에서 개발 및 게시한 스프레드시트 응용 프로그램입니다. 수식 및 함수를 사용하여 데이터 세트를 저장, 구성 및 추적하는 데 가장 일반적으로 사용됩니다. 특정 정보를 포함하기 위해 Excel 파일에 바코드를 생성하고 추가해야 하는 경우가 있습니다. .NET 애플리케이션에서 프로그래밍 방식으로 기계 판독 가능한 바코드 이미지를 XLSX 또는 XLS 파일에 추가할 수 있습니다. 이 기사에서는 C#을 사용하여 Excel에서 바코드를 생성하는 방법을 배웁니다.

이 기사에서는 다음 주제를 다룹니다.

Excel에서 바코드를 생성하는 C# API

Excel 스프레드시트에 바코드를 추가하려면 2단계 절차를 따릅니다. Aspose.Cells for .NET API를 사용하여 Excel 파일을 만들거나 로드합니다. API의 Workbook 클래스를 사용하면 새 Excel 통합 문서를 만들거나 추가 처리를 위해 기존 Excel 파일을 로드할 수 있습니다. 이 클래스의 Save() 메서드는 주어진 파일 경로에 Workbook을 저장합니다. API는 또한 모든 시트 수준 작업을 처리하는 Worksheet 클래스를 제공합니다.

Aspose.BarCode for .NET API를 사용하여 바코드 이미지를 생성하고 Excel 시트에 추가합니다. 지정된 EncodeType의 바코드를 생성하기 위해 BarcodeGenerator 클래스를 제공합니다. 이 클래스의 Save() 메서드는 바코드 이미지를 특정 형식으로 스트리밍하기 위해 저장합니다. 저장 형식을 지정하기 위해 BarCodeImageFormat 열거형을 제공합니다. API는 이미지에서 바코드를 읽을 수 있는 BarCodeReader 클래스도 제공합니다.

API의 DLL을 다운로드하거나 NuGet을 사용하여 설치하십시오.

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

C#에서 Excel 스프레드시트 만들기 및 바코드 추가

아래 단계에 따라 새 Excel 스프레드시트를 만들고 바코드 이미지를 Excel에 추가할 수 있습니다.

  1. 먼저 EncodeType 및 인코딩할 텍스트를 인수로 사용하여 BarcodeGenerator 클래스의 인스턴스를 만듭니다.
  2. 다음으로 메모리 스트림 개체의 인스턴스를 만듭니다.
  3. 그런 다음 Save() 메서드를 호출하여 바코드 이미지를 메모리 스트림에 저장합니다.
  4. 다음으로 Workbook 클래스의 인스턴스를 만듭니다.
  5. 그런 다음 통합 문서의 WorksheetCollection에 새 Worksheet를 추가합니다.
  6. 그런 다음 스트림 개체와 이미지 위치를 인수로 사용하여 Worksheet의 PictureCollection에 이미지를 추가합니다.
  7. 마지막으로 Save() 메서드를 호출합니다. 출력 XLSX 파일 경로를 인수로 사용합니다.

다음 코드 예제에서는 C#을 사용하여 새 Excel 스프레드시트를 만들고 바코드 이미지를 추가하는 방법을 보여줍니다.

// 이 코드 예제는 새 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#을 사용하여 바코드를 추가합니다.

C#의 기존 Excel 파일에 바코드 추가

아래 단계에 따라 기존 Excel 통합 문서의 시트에 바코드 이미지를 추가할 수도 있습니다.

  1. 먼저 EncodeType 및 인코딩할 텍스트를 인수로 사용하여 BarcodeGenerator 클래스의 인스턴스를 만듭니다.
  2. 다음으로 메모리 스트림 개체의 인스턴스를 만듭니다.
  3. 그런 다음 Save() 메서드를 호출하여 바코드 이미지를 메모리 스트림에 저장합니다.
  4. 그런 다음 Workbook 클래스를 사용하여 기존 Excel 파일을 로드합니다.
  5. 그런 다음 해당 색인으로 워크시트에 액세스합니다.
  6. 그런 다음 스트림 개체와 이미지 위치를 인수로 사용하여 Add() 메서드를 사용하여 PictureCollection에 이미지를 추가합니다.
  7. 마지막으로 Save() 메서드를 호출합니다. 출력 XLSX 파일 경로를 인수로 사용합니다.

다음 코드 예제에서는 C#을 사용하여 기존 Excel 파일에 바코드 이미지를 추가하는 방법을 보여줍니다.

// 이 코드 예제는 기존 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");

C#에서 Excel 파일에 QR 코드 추가

마찬가지로 앞에서 언급한 단계에 따라 Excel 파일에 QR 코드를 추가할 수도 있습니다. 그러나 첫 번째 단계에서 EncodeType을 QR로 설정하기만 하면 됩니다. 6단계에서 이미지 위치를 조정해야 할 수도 있습니다.

다음 코드 예제에서는 C#을 사용하여 Excel 파일에 QR 코드를 추가하는 방법을 보여줍니다.

// 이 코드 예제는 기존 Excel 파일에 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);

// 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");

C#을 사용하여 Excel 파일에서 바코드 읽기

아래 단계에 따라 Excel 파일의 모든 시트에 포함된 바코드 이미지를 인식할 수 있습니다.

  1. 먼저 Workbook 클래스를 사용하여 기존 Excel 파일을 로드합니다.
  2. 그런 다음 해당 색인으로 워크시트에 액세스합니다.
  3. 그런 다음 루프의 PictureCollection에서 스트리밍할 이미지를 저장합니다.
  4. 다음으로 이미지 스트림과 DecodeType을 인수로 사용하여 BarCodeReader 클래스의 인스턴스를 만듭니다.
  5. 그런 다음 ReadBarCodes() 메서드를 호출하여 BarCodeResult 개체를 가져옵니다.
  6. 마지막으로 바코드 정보를 보여줍니다.

다음 코드 예제에서는 C#을 사용하여 Excel 파일에서 바코드 이미지를 읽는 방법을 보여줍니다.

// 이 코드 예제는 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 파일에서 바코드 이미지를 읽습니다.

또한 문서를 사용하여 .NET API용 Aspose.BarCode에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼에서 언제든지 문의해 주십시오.

또한보십시오