excel 插入图片 NPOI
2017-07-12 11:59
513 查看
转载:
http://www.cnblogs.com/wei325/p/4748324.html
参数的解析: 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)右下角的点。
http://www.cnblogs.com/wei325/p/4748324.html
//创建一个工作簿 HSSFWorkbook workbook = new HSSFWorkbook(); //创建一个sheet ISheet sheet1 = workbook.CreateSheet("sheet1"); // 设置列宽,excel列宽每个像素是1/256 sheet1.SetColumnWidth(0, 18 * 256); sheet1.SetColumnWidth(1, 18 * 256); IRow rowHeader = sheet1.CreateRow(0);//创建表头行 rowHeader.CreateCell(0, CellType.STRING).SetCellValue("生产单号"); rowHeader.CreateCell(1, CellType.STRING).SetCellValue("图片"); DataTable dt = sqlhelperPro.seachData("SELECT top 3 PRODID,KTL_PIC FROM Long_tmpPIC"); if (dt.Rows.Count > 0) { int rowline = 1;//从第二行开始(索引从0开始) foreach (DataRow datarow in dt.Rows) { IRow row = sheet1.CreateRow(rowline); //设置行高 ,excel行高度每个像素点是1/20 row.Height = 80 * 20; //填入生产单号 row.CreateCell(0, CellType.STRING).SetCellValue(datarow["PRODID"].ToString()); //将图片文件读入一个字符串 byte[] bytes = System.IO.File.ReadAllBytes(datarow["KTL_PIC"].ToString()); int pictureIdx=workbook.AddPicture(bytes,PictureType.JPEG); HSSFPatriarch patriarch = (HSSFPatriarch)sheet1.CreateDrawingPatriarch(); // 插图片的位置 HSSFClientAnchor(dx1,dy1,dx2,dy2,col1,row1,col2,row2) 后面再作解释 HSSFClientAnchor anchor = new HSSFClientAnchor(70, 10,0,0, 1,rowline, 2, rowline +1); //把图片插到相应的位置 HSSFPicture pict = (HSSFPicture)patriarch.CreatePicture(anchor, pictureIdx); rowline++; } } //把文件保存到d:\aaa.xls,注意扩展名是.xls不要写成.xlsx using (Stream stream = File.OpenWrite("d:\aaa.xls")) { workbook.Write(stream); } //如果要操作.xlsx的excel,引入命名空间 using NPOI.XSSF.UserModel; // 然后把所有的HSS改为XSS(比喻HSSWorkbook->XSSWorkbook)
参数的解析: 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)右下角的点。
相关文章推荐
- NPOI 批量插入图片进Excel
- C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表
- 使用Npoi向Excel中插入图片
- 2.4.5 用NPOI操作EXCEL--插入图片
- NPOI2.2.0.0实例详解(十一)—向EXCEL插入图片
- 2.4.5 用NPOI操作EXCEL--插入图片
- asp.net两种方式在模板excel中插入图片:npoi和c# com组件
- C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表
- NPOI2.2.0.0实例详解(十一)—向EXCEL插入图片
- NPOI(2.1.3)向excel中插入图片,xls文档图片插入成功,xlsx文档图片插入失败
- NPOI插入图片到excel指定单元格
- npoi导出excel(模板)插入图片,文本只读,不可以修改
- NPOI导出excel,插入图片
- NPOI向Excel文件插入图片
- 2.4.5 用NPOI操作EXCEL--插入图片
- C#向Excel报表中插入图片的2种方法
- [VB.NET]vb.net如何把jpg图片插入到Excel中?谢了
- 使用JavaExcel API 往excel中插入图片
- Apache POI向excel中插入图片
- 如何把图片插入到Excel里