国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

c# 應(yīng)用NPOI獲取Excel中的圖片,保存至本地的算法

2020-01-24 00:46:29
字體:
供稿:網(wǎng)友

要求:讀取excel中的圖片,保存到指定路徑

思路:  利用NPOI中 GetAllPictures()方法獲取圖片信息

步驟:

1.新建一個(gè)Windows窗體應(yīng)用程序

2.桌面新建一個(gè)excel,貼入兩張圖片

 如下圖:

3.在Form中拖入一個(gè)button

4.點(diǎn)擊button,在點(diǎn)擊事件方法中寫入,要讀取圖片的方法:ExcelToImage

點(diǎn)擊事件方法如下:

private string exclePath = @"C:/users/lenovo/Desktop/testPic.xls"; private void button2_Click(object sender, EventArgs e) { List<string> listpath = new List<string>{}; string savePath = Path.Combine("E://","pic");  if(!Directory.Exists(savePath))//判斷是否存在保存文件夾,沒有則新建 Directory.CreateDirectory(savePath); bool result = ExcelToImage(exclePath, savePath, ref listpath); if(result) MessageBox.Show("導(dǎo)出成功"); else MessageBox.Show("導(dǎo)出失敗"); }

5.其中ExcelToImage方法事件如下:

/// <summary> /// 從excel獲取圖片 /// </summary> /// <param name="filepath">文件路徑</param> /// <param name="savepath">圖片保存路徑</param> /// <param name="listPath">返回保存的圖表地址list</param> /// <returns>保存圖片是否成功</returns> private bool ExcelToImage(string filepath,string savepath,ref List<string> listPath) { try { using (FileStream fsReader = File.OpenRead(filepath)) {  HSSFWorkbook wk = new HSSFWorkbook(fsReader);  IList pictures = wk.GetAllPictures();  int i = 0;  foreach (HSSFPictureData pic in pictures)  {  //if (pic.Data.Length == 19504) //跳過不需要保存的圖片,其中pic.data有圖片長(zhǎng)度  // continue;  string ext = pic.SuggestFileExtension();//獲取擴(kuò)展名  string path = string.Empty;  if (ext.Equals("jpg"))  {  Image jpg = Image.FromStream(new MemoryStream(pic.Data));//從pic.Data數(shù)據(jù)流創(chuàng)建圖片  path = Path.Combine(savepath, string.Format("pic{0}.jpg", i++));  jpg.Save(path);//保存  }  else if (ext.Equals("png"))  {  Image png = Image.FromStream(new MemoryStream(pic.Data));  path = Path.Combine(savepath, string.Format("pic{0}.png", i++));  png.Save(path);  }  if (!string.IsNullOrEmpty(path))  listPath.Add(path);  } } } catch (Exception ex) { return false;  } return true; }

結(jié)果:

注明:本算法  HSSFWorkbook 類,所以對(duì)應(yīng)的excel應(yīng)為2003以前(包括2003)的版本,擴(kuò)展名是.xls。 

HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,擴(kuò)展名是.xls

XSSFWorkbook:是操作Excel2007 +的版本,擴(kuò)展名是.xlsx

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持武林網(wǎng)!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 康乐县| 泾源县| 巨野县| 吉安市| 延庆县| 南投市| 双辽市| 上思县| 新疆| 白银市| 宿松县| 宁乡县| 永丰县| 城口县| 桓台县| 砀山县| 家居| 迁西县| 麻栗坡县| 慈利县| 襄城县| 阜宁县| 天津市| 方山县| 遂溪县| 弥勒县| 安国市| 平泉县| 桦甸市| 洛阳市| 祁连县| 开远市| 宜良县| 广宗县| 邢台市| 祁门县| 长泰县| 万州区| 琼结县| 郴州市| 蕲春县|