最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年02月09日 09:47:00   作者:SweetMemory  
本文主要介紹了c# 應(yīng)用NPOI獲取Excel中的圖片,保存至本地的算法。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧

要求:讀取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))//判斷是否存在保存文件夾,沒(méi)有則新建
 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) //跳過(guò)不需要保存的圖片,其中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í)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • C#多線程系列之任務(wù)基礎(chǔ)(三)

    C#多線程系列之任務(wù)基礎(chǔ)(三)

    本文詳細(xì)講解了C#多線程的任務(wù)基礎(chǔ),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • 使用Cursor進(jìn)行C#編程的詳細(xì)步驟

    使用Cursor進(jìn)行C#編程的詳細(xì)步驟

    Cursor 是一款功能強(qiáng)大的代碼編輯器,它憑借其人工智能輔助功能,為開(kāi)發(fā)者帶來(lái)了諸多便利,本文將給大家介紹了用Cursor 進(jìn)行C#編程的超詳細(xì)指南,需要的朋友可以參考下
    2025-03-03
  • 使用NOPI讀取Word、Excel文檔內(nèi)容

    使用NOPI讀取Word、Excel文檔內(nèi)容

    這篇文章主要為大家詳細(xì)介紹了使用NOPI讀取Word、Excel文檔內(nèi)容的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 一文看懂C#中List的擴(kuò)容機(jī)制

    一文看懂C#中List的擴(kuò)容機(jī)制

    這篇文章主要介紹了C#中的擴(kuò)容機(jī)制,文中以實(shí)例代碼輔助,幫助大家更好的工作和學(xué)習(xí),感興趣的小伙伴不妨了解下
    2020-05-05
  • C#實(shí)現(xiàn)帶百分比的進(jìn)度條功能示例

    C#實(shí)現(xiàn)帶百分比的進(jìn)度條功能示例

    這篇文章主要介紹了C#實(shí)現(xiàn)帶百分比的進(jìn)度條功能,分析了帶百分比進(jìn)度條的功能需求并結(jié)合實(shí)例形式給出了具體實(shí)現(xiàn)步驟與相關(guān)操作方法,需要的朋友可以參考下
    2017-05-05
  • C# Access數(shù)據(jù)庫(kù)增刪查改的簡(jiǎn)單方法

    C# Access數(shù)據(jù)庫(kù)增刪查改的簡(jiǎn)單方法

    這篇文章主要介紹了C# Access數(shù)據(jù)庫(kù)增刪查改的簡(jiǎn)單方法,有需要的朋友可以參考一下
    2014-01-01
  • C# CAD SelectionFilter下TypedValue數(shù)組使用方式

    C# CAD SelectionFilter下TypedValue數(shù)組使用方式

    這篇文章主要介紹了C# CAD SelectionFilter下TypedValue數(shù)組使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • C# 讀寫XML文件實(shí)例代碼

    C# 讀寫XML文件實(shí)例代碼

    在本篇文章里小編給大家整理的是關(guān)于C# 讀寫XML文件最簡(jiǎn)單方法,需要的朋友們可以跟著學(xué)習(xí)參考下。
    2020-03-03
  • WPF調(diào)用ffmpeg實(shí)現(xiàn)屏幕錄制

    WPF調(diào)用ffmpeg實(shí)現(xiàn)屏幕錄制

    這篇文章主要為大家詳細(xì)介紹了WPF如何調(diào)用ffmpeg實(shí)現(xiàn)屏幕錄制,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下
    2023-05-05
  • C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量三

    C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量三

    C#語(yǔ)言類型系統(tǒng)提出的一個(gè)核心概念裝箱(boxing)拆箱(unboxing)。裝箱和取消裝箱的概念是C#的類型系統(tǒng)的核心。它在“值類型”和“引用類型”之間的架起了一座橋梁,使得任何“值類型”的值都可以轉(zhuǎn)換為object類型的值,反過(guò)來(lái)轉(zhuǎn)換也可以。
    2015-10-10

最新評(píng)論

正阳县| 南涧| 锡林郭勒盟| 沙坪坝区| 嘉峪关市| 额尔古纳市| 鸡西市| 泰宁县| 公安县| 项城市| 桐城市| 滕州市| 余江县| 安国市| 綦江县| 龙海市| 连南| 疏附县| 岑巩县| 平塘县| 靖江市| 托里县| 英山县| 开鲁县| 临沧市| 都江堰市| 宿迁市| 彭山县| 阿拉善右旗| 唐海县| 海口市| 历史| 洪湖市| 安顺市| 五台县| 广东省| 呼图壁县| 景德镇市| 那曲县| 黔南| 望奎县|