C# 插入条码到Excel指定单元格

 

 .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文件的效果截图:

 

转载于:https://www.cnblogs.com/Yesi/p/4311147.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本.Net 条码组件包括两个独立组件: BarcodeNet: 用于生成条码,BarcodeScanNet: 用于条码识别 一、条码生成组件(BarcodeNet.dll) 1.功能说明   BarcodeNet是 .Net 下的条形码组件,支持如下类型: CODE39,CODE39Extended, Codabar, UPCA, UPCE, EAN13, EAN8, Interleaved2of5, PostNet, ISBN, CODE128, CODE93等 - 将条码保存为 BMP、GIF、JPG、PNG、TIFF等文件式 - 设置条码宽度和高度 - 设置条码背景和前景颜色 支持的开发环境包括: VS.Net 2005, VS.Net 2008, VS.Net 2010, Delphi .Net,Delphi,Visual Basic等 2.使用说明 Barcode bar = new Barcode(); bar.ShowCode = true; bar.Width = 400; bar.Height = 150; // bar.SerialNo = ""; //注册后请给序列号赋值,否则只能产生"123456789012"固定条玛 PictureBox imgBarcode = new PictureBox(); imgBarcode.Image = bar.GenerateImage(BarcodeNet.TYPE.CODE39,"1234"); 可以参考 demo 程序。 * Delphi: 要求安装.Net Framework 2.0的环境。先运行Com目录下的RegisterForCOM.bat进行组件注册,然后才能使用。 使用方法可以参考 delphi目录下demo 程序。 二、条码识别组件(BarcodeScanNet.dll) 1.功能说明   BarcodeScanNet是 .Net 下的条形码图像扫描识别组件,支持如下类型: CODE39,EAN/UPC,CODE128 - 可以从BMP、GIF、JPG、PNG、TIFF等文件中扫描识别条码 - 支持水平或垂直扫描 - 可以扫描图像中的多个条码 支持的开发环境包括: VS.Net 2003, VS.Net 2005, VS.Net 2008, VS.Net 2010, Delphi .Net, Delphi,Visual Basic等 2.使用说明 System.Collections.ArrayList barcodes = new ArrayList(); //BarcodeFromImage.SerialNo = ""; //注册后请给序列号赋值,否则ScanImage函数只会显示条码,barcodes中不会包含扫描到的条码 BarcodeFromImage.ScanImage(ref barcodes,pictureBox1.Image as Bitmap); //注册后barcodes中返回扫描到的条码,如果图像中有重复的条码会自动去除 可以参考 demo 程序。 * Delphi: 要求安装.Net Framework 2.0的环境。先运行Com目录下的RegisterForCOM.bat进行组件注册,然后才能使用。 使用方法可以参考 delphi目录下demo 程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值