**工作中用到了二维码_生成二维码并导出到excel表.
这里完整做了一下,巩固知识。**
实现效果:在页面上输入字符串,后台处理生成对应的二维码,将二维码作为图片保存,并且在页面显示出来。
前期:用到三方插件ThoughtWorks.QRCode,下载引用。插件生成二维码的类已经很完善,在这里OOXX搬运下就行。
/// <summary>
/// 根据提交的内容显示二维码
/// </summary>
protected void btn_Click(object sender, EventArgs e)
{
QRCodeEncoder enCoder = new QRCodeEncoder();
enCoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
enCoder.QRCodeBackgroundColor = Color.White;
enCoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
enCoder.QRCodeScale = 4;//等级越大像素越高
enCoder.QRCodeVersion = 7;
//生成了二维码图片
Bitmap map = enCoder.Encode(txtUrl.Text.Trim());
//将图片保存在本地
string filePath = @"F:\google下载\QRCode\";
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string imgName=Guid.NewGuid().ToString().Replace("-","");
string Path=filePath + imgName + ".png";
map.Save(Path);
map.Dispose();
img.ImageUrl = "http://****:55/" + imgName + ".png";
}
效果:
备注:生成二维码图片保存到本地后,我没有想到好的方法呈现在页面,只是在iis上 将保存图片的文件夹发出来在直接访问。对此,期待指点。
下面是将二维码导出到excel 表处理
//将数据整合生成excel
public static MemoryStream DealData(List<NewList> DataList)
{
HSSFWorkbook workbook = new HSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");
//10列
sheet.SetColumnWidth(0, 8 * 256 + 200);
sheet.SetColumnWidth(