要生成条形码并保存到本地的,链接上一篇:https://blog.csdn.net/qq_40467670/article/details/120278050
if (!col3.Equals("")){
//在单元格中放入条形码
byte[] bytes = System.IO.File.ReadAllBytes(fileSavePath.ToString());
int pictureIdx = workbook.AddPicture(bytes, PictureType.JPEG);
HSSFPatriarch patriarch = (HSSFPatriarch)sheet.CreateDrawingPatriarch();
// 插图片的位置 HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2) 后面再作解释
HSSFClientAnchor anchor = new HSSFClientAnchor(1, 1, 1, 1, 4, 4 + jj, 5, 4 + jj + 1);
//把图片插到相应的位置
HSSFPicture pict = (HSSFPicture)patriarch.CreatePicture(anchor, pictureIdx);
}
其中HSSFClientAnchor的几个参数是
HSSFClientAnchor(int dx1,int dy1,int dx2,int dy2,int col1,int row1,int col2,int row2)
dx1:图片左边相对excel格的位置(x偏移) 范围值为:0~1023;即输100 偏移的位置大概是相对于整个单元格的宽度的100除以1023大概是10分之一
dy1:图片上方相对excel格的位置(y偏移) 范围值为:0~256
dx2:图片右边相对excel格的位置(x偏移) 范围值为:0~1023
dy2:图片下方相对excel格的位置(y偏移) 范围值为:0~256
col1和row1:图片左上角的位置,以excel单元格为参考,比喻这两个值为(1,1),那么图片左上角的位置就是excel表(1,1)单元格的右下角的点(A,1)右下角的点
col2和row2:图片右下角的位置,以excel单元格为参考,比喻这两个值为(2,2),那么图片右下角的位置就是excel表(2,2)单元格的右下角的点(B,2)右下角的点
效果如下图所示: