日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#根据execl批量修改图片名称

發布時間:2025/5/22 C# 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#根据execl批量修改图片名称 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
做這個是出于有這個需求由于圖片太多,一個個對著execl來改的話需要大量的時間且一不小心可能就改錯導致圖片放到服務器上無法顯示,學會了一些編程,你就可以輕松解決此類問題。為了節省時間提高工作的效率。學編程好處遠遠不僅在于此。好好學吧。任重道遠。第一、什么上下文對象和統計受影響的數量:DataContext db = new DataContext(); private int materiel_count = 0; //開始的記錄數 第二、讀取execl表public DataSet ExecleDs(string filenameurl, string table) { //此驅動對應的Execl格式為 xls string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";//此驅動對應的Execl格式為 xlsx //string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filenameurl + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1;'"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); DataSet ds = new DataSet(); OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn); odda.Fill(ds, table); return ds;}第三、根據execl表的內容和圖片命名規則如 555-55-0.jpg做修改并保存到新的圖片文件夾下:protected void Button1_Click(object sender, EventArgs e) {string result = ""; //輸出導出結果成功還是失敗if (FileUpload_insert.HasFile == false)//HasFile用來檢查FileUpload是否有指定文件 {Response.Write("<script>alert('請您選擇Excel文件')</script> ");return;//當無文件時,返回 } string IsXls = System.IO.Path.GetExtension(FileUpload_insert.FileName).ToString().ToLower();//System.IO.Path.GetExtension獲得文件的擴展名 if (IsXls != ".xls") {Response.Write("<script>alert('只可以選擇Excel文件')</script>");return;//當選擇的不是Excel文件時,返回 }string filename = FileUpload_insert.FileName; //獲取Execle文件名 DateTime日期函數 string savePath = Server.MapPath(("~\\UploadFile\\") + filename);//Server.MapPath 獲得虛擬服務器相對路徑//原文件夾路徑 // string OldImgUrl = FileUpload_OldImgUrl.PostedFile.FileName; string OldImgUrl = "C:\\Users\\Administrator\\Desktop\\原圖\\3.xls";OldImgUrl = OldImgUrl.Substring(0, OldImgUrl.LastIndexOf("\\")) + "\\";//新文件夾路徑 // string NewImgUrl = FileUpload_NewImgUrl.PostedFile.FileName; string NewImgUrl = "C:\\Users\\Administrator\\Desktop\\新圖\\3.xls"; NewImgUrl = NewImgUrl.Substring(0, NewImgUrl.LastIndexOf("\\")) + "\\";// C:\Users\Administrator\Desktop\newimg\3.xls//如果上傳的execl文件存在就刪除 if (File.Exists(savePath)) {try{File.Delete(savePath);}catch{Response.Write("<script>alert('網頁異常,請聯系管理員!');</script>");} }FileUpload_insert.SaveAs(savePath); //SaveAs 將上傳的文件內容保存在服務器上 DataSet ds = ExecleDs(savePath, filename); //調用自定義方法 DataRow[] dr = ds.Tables[0].Select(); //定義一個DataRow數組 int rowsnum = ds.Tables[0].Rows.Count; if (rowsnum == 0) {result = "Excel表為空表,無數據!"; } else { for (int i = 0; i < dr.Length; i++) {string m_Code = dr[i]["流水號"].ToString(); //新商品code string o_Code = dr[i]["舊編號"].ToString(); //舊商品code string m_Name = dr[i]["商品名稱"].ToString(); //商品名稱 DirectoryInfo d = new DirectoryInfo(OldImgUrl);FileInfo[] files = d.GetFiles(); foreach (var item in files) {string fileName = item.Name;//獲取一個文件名稱(圖片名)string[] nameFragments = fileName.Split('.');string[] imgname = nameFragments[0].Split('-');string imgcode = imgname[0] + "-" + imgname[1];if (imgcode == o_Code) {item.MoveTo(Path.Combine(NewImgUrl, m_Code + "-" + imgname[2] + ".jpg"));materiel_count++;}}}//for循環結束 }//判斷execl存在行結束 if (result == "ok") {result = "Excle表導入成功!重命名完成。"; } if (result == "no") {result = "請聯系管理員!"; }Response.Write("<script>alert('受影響商品數量:" + (materiel_count) + " " + result + "');</script>");}

?

轉載于:https://www.cnblogs.com/professional-NET/p/4793427.html

總結

以上是生活随笔為你收集整理的C#根据execl批量修改图片名称的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。