標籤:
.NET中Barcode Library的應用二
介紹
在上一篇中我已經簡單介紹了這個函數庫(條碼應用之一------------函數庫的簡介)。在這一篇中我將使用這個庫提供更多的操作,希望對大家有用。
讓我們來看下下面的設定:
我們有許多要處理的條碼。它們的類型被儲存在Excel檔案的一列中(如BarcodeType),它們的資料包含在另一列(BarcodeData)中。我們要做的是根據它們的類型和資料產生相應的條碼並將他們儲存在第三列(BarcodeImage)中。在物流交易或者超市中條碼被用來識別商品。要記住商品是數目龐大種類繁多的,利用人工來處理條碼太不明智了。
我們需要一個更好的方法來從Excel中擷取資料。在這個條碼函數庫的版主下我們可以很容易地吧這項工作完成(這裡下載https://freenetexcel.codeplex.com/)。請參照下面的代碼:
範例代碼
第一步:載入Excel檔案:
Workbook workbook = new Workbook();
workbook.LoadFromFile("SourceFile.xlsx");
Worksheet sheet = workbook.Worksheets[0];
第二步:用一個for迴圈得到Excel中的資料。
int i;
string barcodeType,barcodeData;
for (i = 2; i<=sheet.AllocatedRange.Rows.Count(); i++)
{
barcodeType = sheet.Range[i, 1].Text;
barcodeData = sheet.Range[i, 2].Text;
}
第三步:產生條碼圖片
BarcodeSettings barsetting = new BarcodeSettings();
barsetting.HasBorder = true;
barsetting.BorderWidth = 0.5F;
barsetting.ShowTextOnBottom = true;
barsetting.Data = barcodeData;
barsetting.Data2D = barcodeData;
barsetting.Type = (BarCodeType)Enum.Parse(typeof(BarCodeType), barcodeType);
BarCodeGenerator bargenerator = new BarCodeGenerator(barsetting);
Image barcodeimage = bargenerator.GenerateImage();
String fileName = String.Format("Image-{0}.png", i);
barcodeimage.Save(fileName);
第四步:將這些圖片添加到Excel的指定地區。
sheet.Pictures.Add(i, 3, fileName);
結果
以下是最終Excel檔案的效果:
.NET 中Barcode Library的應用二