FlexCell是一个操作简单的国产.NET表格控件(Windows Forms),支持条形码和二维码,用来制作条码标签非常方便。
FlexCell中文版官网:
http://www.grid2000.com/cn
C#源代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
flex1.Cols = 4;
flex1.Rows = 13;
flex1.DefaultRowHeight = 22;
flex1.DefaultFont = new Font("Arial", 8);
flex1.GridColor = Color.White;
flex1.DisplayBarcodeText = false;
flex1.CorrectionLevel = FlexCell.CorrectionLevelEnum.L;
flex1.Row(1).Height = 60;
flex1.Row(4).Height = 30;
flex1.Row(5).Height = 3;
flex1.Row(10).Height = 30;
flex1.Row(11).Height = 10;
flex1.Row(12).Height = 50;
flex1.Column(1).Width = 110;
flex1.Column(2).Width = 30;
flex1.Column(3).Width = 80;
flex1.Cell(1, 1).Text = "NO2022";
flex1.Cell(1, 1).Font = new Font("Arial", 20, FontStyle.Bold);
flex1.Cell(1, 3).Text = "http://www.grid2000.com/cn";
flex1.Cell(1, 3).CellType = FlexCell.CellTypeEnum.QRCode;
flex1.Range(1, 3, 2, 3).Merge();
flex1.Cell(2, 1).Text = "Product ID: 0220793";
flex1.Cell(3, 1).Text = "P/T: 25 Color: Black";
flex1.Cell(3, 1).Font = new Font("Arial", 10, FontStyle.Bold);
flex1.Range(3, 1, 3, 3).Merge();
flex1.Range(3, 1, 3, 3).set_Borders(FlexCell.EdgeEnum.Bottom, FlexCell.LineStyleEnum.Thin);
flex1.Cell(4, 1).Text = "Size: 75A";
flex1.Cell(4, 1).Font = new Font("Arial", 12, FontStyle.Bold);
flex1.Range(4, 1, 4, 3).set_Borders(FlexCell.EdgeEnum.Bottom, FlexCell.LineStyleEnum.Thin);
flex1.Cell(7, 1).Text = "Items in ctn:";
flex1.Cell(8, 1).Text = "No of ctns:";
flex1.Cell(9, 1).Text = "Ctn no:";
flex1.Range(5, 1, 5, 3).set_Borders(FlexCell.EdgeEnum.Bottom, FlexCell.LineStyleEnum.Thin);
flex1.Range(6, 1, 6, 3).set_Borders(FlexCell.EdgeEnum.Bottom, FlexCell.LineStyleEnum.Thin);
flex1.Cell(7, 2).Text = "50";
flex1.Cell(8, 2).Text = "160";
flex1.Cell(9, 2).Text = "69";
flex1.Range(7, 2, 9, 2).Alignment = FlexCell.AlignmentEnum.RightCenter;
flex1.Range(7, 2, 9, 2).Font = new Font("Arial", 10, FontStyle.Bold);
flex1.Cell(7, 3).Text = "S";
flex1.Cell(7, 3).Alignment = FlexCell.AlignmentEnum.CenterCenter;
flex1.Cell(7, 3).Font = new Font("Arial", 48, FontStyle.Bold);
flex1.Range(7, 3, 9, 3).Merge();
flex1.Range(9, 1, 9, 3).set_Borders(FlexCell.EdgeEnum.Bottom, FlexCell.LineStyleEnum.Thin);
flex1.Cell(10, 1).Text = "CODE: 07932022123456";
flex1.Cell(10, 1).Alignment = FlexCell.AlignmentEnum.CenterCenter;
flex1.Cell(10, 1).Font = new Font("Arial", 10, FontStyle.Bold);
flex1.Range(10, 1, 10, 3).Merge();
flex1.Range(10, 1, 10, 3).set_Borders(FlexCell.EdgeEnum.Bottom, FlexCell.LineStyleEnum.Thick);
flex1.Cell(12, 1).Text = "07932022123456";
flex1.Cell(12, 1).Alignment = FlexCell.AlignmentEnum.CenterCenter;
flex1.Cell(12, 1).CellType = FlexCell.CellTypeEnum.BarCode;
flex1.Cell(12, 1).BarcodeType = FlexCell.BarcodeTypeEnum.CODE128A;
flex1.Range(12, 1, 12, 3).Merge();
flex1.PageSetup.LeftMargin = 0.5f;
flex1.PageSetup.TopMargin = 0.5f;
flex1.PageSetup.RightMargin = 0.5f;
flex1.PageSetup.BottomMargin = 0.5f;
//纸张长宽单位是百分之一英寸,使用前需要先在打印机服务器属性中添加自定义纸型
flex1.PageSetup.PaperSize = new System.Drawing.Printing.PaperSize("Barcode Label", 270, 370);
}
private void button1_Click(object sender, EventArgs e)
{
flex1.PrintPreview();
}
}
}
VB .Net源代码:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
flex1.Cols = 4
flex1.Rows = 13
flex1.DefaultRowHeight = 22
flex1.DefaultFont = New Font("Arial", 8)
flex1.GridColor = Color.White
flex1.DisplayBarcodeText = False
flex1.CorrectionLevel = FlexCell.CorrectionLevelEnum.L
flex1.Row(1).Height = 60
flex1.Row(4).Height = 30
flex1.Row(5).Height = 3
flex1.Row(10).Height = 30
flex1.Row(11).Height = 10
flex1.Row(12).Height = 50
flex1.Column(1).Width = 110
flex1.Column(2).Width = 30
flex1.Column(3).Width = 80
flex1.Cell(1, 1).Text = "NO2022"
flex1.Cell(1, 1).Font = New Font("Arial", 20, FontStyle.Bold)
flex1.Cell(1, 3).Text = "http://www.grid2000.com/cn"
flex1.Cell(1, 3).CellType = FlexCell.CellTypeEnum.QRCode
flex1.Range(1, 3, 2, 3).Merge()
flex1.Cell(2, 1).Text = "Product ID: 0220793"
flex1.Cell(3, 1).Text = "P/T: 25 Color: Black"
flex1.Cell(3, 1).Font = New Font("Arial", 10, FontStyle.Bold)
flex1.Range(3, 1, 3, 3).Merge()
flex1.Range(3, 1, 3, 3).Borders(FlexCell.EdgeEnum.Bottom) = FlexCell.LineStyleEnum.Thin
flex1.Cell(4, 1).Text = "Size: 75A"
flex1.Cell(4, 1).Font = New Font("Arial", 12, FontStyle.Bold)
flex1.Range(4, 1, 4, 3).Borders(FlexCell.EdgeEnum.Bottom) = FlexCell.LineStyleEnum.Thin
flex1.Cell(7, 1).Text = "Items in ctn:"
flex1.Cell(8, 1).Text = "No of ctns:"
flex1.Cell(9, 1).Text = "Ctn no:"
flex1.Range(5, 1, 5, 3).Borders(FlexCell.EdgeEnum.Bottom) = FlexCell.LineStyleEnum.Thin
flex1.Range(6, 1, 6, 3).Borders(FlexCell.EdgeEnum.Bottom) = FlexCell.LineStyleEnum.Thin
flex1.Cell(7, 2).Text = "50"
flex1.Cell(8, 2).Text = "160"
flex1.Cell(9, 2).Text = "69"
flex1.Range(7, 2, 9, 2).Alignment = FlexCell.AlignmentEnum.RightCenter
flex1.Range(7, 2, 9, 2).Font = New Font("Arial", 10, FontStyle.Bold)
flex1.Cell(7, 3).Text = "S"
flex1.Cell(7, 3).Alignment = FlexCell.AlignmentEnum.CenterCenter
flex1.Cell(7, 3).Font = New Font("Arial", 48, FontStyle.Bold)
flex1.Range(7, 3, 9, 3).Merge()
flex1.Range(9, 1, 9, 3).Borders(FlexCell.EdgeEnum.Bottom) = FlexCell.LineStyleEnum.Thin
flex1.Cell(10, 1).Text = "CODE: 07932022123456"
flex1.Cell(10, 1).Alignment = FlexCell.AlignmentEnum.CenterCenter
flex1.Cell(10, 1).Font = New Font("Arial", 10, FontStyle.Bold)
flex1.Range(10, 1, 10, 3).Merge()
flex1.Range(10, 1, 10, 3).Borders(FlexCell.EdgeEnum.Bottom) = FlexCell.LineStyleEnum.Thick
flex1.Cell(12, 1).Text = "07932022123456"
flex1.Cell(12, 1).Alignment = FlexCell.AlignmentEnum.CenterCenter
flex1.Cell(12, 1).CellType = FlexCell.CellTypeEnum.BarCode
flex1.Cell(12, 1).BarcodeType = FlexCell.BarcodeTypeEnum.CODE128A
flex1.Range(12, 1, 12, 3).Merge()
flex1.PageSetup.LeftMargin = 0.5
flex1.PageSetup.TopMargin = 0.5
flex1.PageSetup.RightMargin = 0.5
flex1.PageSetup.BottomMargin = 0.5
'纸张长宽单位是百分之一英寸,使用前需要先在打印机服务器属性中添加自定义纸型
flex1.PageSetup.PaperSize = New System.Drawing.Printing.PaperSize("Barcode Label", 270, 370)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
flex1.PrintPreview()
End Sub
End Class
最后,打印预览的效果是这样的: