NPOI插入圖片到excel指定儲存格

來源:互聯網
上載者:User

標籤:

先看

代碼

 

//建立一個活頁簿        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++;            }        }        NPOIDowmLoad(workbook);//下載excel
View Code

 參數的解析: HSSFClientAnchor(int dx1,int dy1,int dx2,int dy2,int col1,int row1,int col2,int row2)

 

dx1:圖片左邊相對excel格的位置(x位移) 範圍值為:0~1023;即輸10 位移的位置大概是相對於整個儲存格的寬度的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 用法可參考官網(中文)  http://tonyqus.sinaapp.com/

 

NPOI插入圖片到excel指定儲存格

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.