צור ברקוד באקסל באמצעות C#

Excel הוא יישום גיליון אלקטרוני שפותח ופורסם על ידי Microsoft. הוא משמש לרוב לאחסון, ארגון ומעקב אחר מערכי נתונים עם נוסחאות ופונקציות. במקרים מסוימים, ייתכן שנצטרך ליצור ולהוסיף ברקודים בקובצי Excel כדי להטמיע מידע ספציפי. אנו יכולים להוסיף תמונות ברקוד קריאות במכונה לקבצי XLSX או XLS באופן תכנותי ביישומי NET. במאמר זה נלמד כיצד ליצור ברקוד באקסל באמצעות C#.

המאמר יעסוק בנושאים הבאים:

C# API ליצירת ברקוד באקסל

להוספת ברקודים לגיליונות אלקטרוניים של Excel, נבצע הליך דו-שלבי. אנו נשתמש ב-Aspose.Cells for .NET API כדי ליצור או לטעון קובץ Excel. המחלקה Workbook של ה-API מאפשרת ליצור חוברת עבודה חדשה של Excel או לטעון קובץ Excel קיים לעיבוד נוסף. השיטה Save() של מחלקה זו שומרת את חוברת העבודה בנתיב הקובץ הנתון. ה-API מספק גם מחלקה Worksheet לטיפול בכל הפעולות ברמת הגיליון.

אנו ניצור ונוסיף את תמונת הברקוד לגיליון האקסל באמצעות ה-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);

// יצירת מחלקה אקסל המייצגת קובץ אקסל
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);

// יצירת מחלקה אקסל המייצגת קובץ אקסל
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);

// יצירת מחלקה אקסל המייצגת קובץ אקסל
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\";

// יצירת מחלקה אקסל המייצגת קובץ אקסל
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;
  • קרא תמונת ברקוד מקובץ אקסל.

חוץ מזה, אתה יכול ללמוד עוד על Aspose.BarCode עבור .NET API באמצעות תיעוד. בכל מקרה של אי בהירות, אנא אל תהסס לפנות אלינו בפורום.

ראה גם