㈠ ASP.NET中如何实现删除文件夹
界面布置主界面设计中有个“删除”按钮,其(ID)为btnDelete。用户在目录浏览中选中要删除的项后,单击该按钮就可以完成删除工作。代码实现在“设计”面板中双击“删除”按钮,为其添加事件处理程序如下: private void BtnDelete_Click(object sender, System.EventArgs e) { DeleteThings(FileList.SelectedItem.Text); } private void DeleteThings(string FullPath) { if(FullPath.IndexOf(".")>0) //删除文件{ File.Delete(FullPath); LoadDir(CurrentPath); //重新载入当前目录} else //删除目录{ Directory.Delete(FullPath); LoadDir(CurrentPath); //重新载入当前目录} } 删除时首先判断选中的是文件还是文件夹。如果是文件,则调用File.Delete()方法;反之则调用Directory.Delete()方法。删除成功后再调用LoadDir()方法显示更改后的目录内容。
㈡ asp.net濡備綍鍒犻櫎鏂囦欢asp鍒犻櫎鏂囦欢
asp.net鍒犻櫎鎸囧畾鐨勬枃浠
鍚岀悊锛岄栧厛鐐瑰嚮鍒犻櫎纭璁ゆ枃浠舵槸鍚﹀瓨鍦锛岀劧鍚庢墽琛屽懡浠ゅ垹闄ゆ湰鍦版枃浠讹紝杩斿洖淇℃伅锛屽垹闄ゆ枃浠讹紝鎵ц屾暟鎹搴撳垹闄ゅ懡浠わ紝鐒跺悗椤甸潰鎻愮ず銆asp.net涓瀵煎嚭excel鏁版嵁鐨勬柟娉曟眹鎬伙紵
1銆佺敱dataset鐢熸垚
澶嶅埗浠g爜浠g爜濡備笅:
publicvoidCreateExcel(DataSetds,stringtypeid,stringFileName)
{
HttpResponseresp;
resp=Page.Response;
resp.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition","attachment;filename="+FileName);
stringcolHeaders="",ls_item="";
inti=0;
//瀹氫箟琛ㄥ硅薄涓庤屽瑰儚锛屽悓鏃剁敤DataSet瀵瑰叾鍊艰繘琛屽垵濮嬪寲
DataTabledt=ds.Tables;
DataRowmyRow=dt.Select("");
//typeid=="1"鏃跺煎嚭涓篍XCEL鏍煎紡鏂囦欢锛泃ypeid=="2"鏃跺煎嚭涓篨ML鏍煎紡鏂囦欢
if(typeid=="1")
{
//鍙栧緱鏁版嵁琛ㄥ悇鍒楁爣棰橈紝鍚勬爣棰樹箣闂翠互t鍒嗗壊锛屾渶鍚庝竴涓鍒楁爣棰樺悗鍔犲洖杞︾
for(i=0;icolHeaders+=dt.Columns.Caption.ToString()+"t";
colHeaders+=dt.Columns.Caption.ToString()+"n";
//鍚慔TTP杈撳嚭娴佷腑鍐欏叆鍙栧緱鐨勬暟鎹淇℃伅
resp.Write(colHeaders);
//閫愯屽勭悊鏁版嵁
foreach(DataRowrowinmyRow)
{
//鍦ㄥ綋鍓嶈屼腑锛岄愬垪鑾峰緱鏁版嵁锛屾暟鎹涔嬮棿浠t鍒嗗壊锛岀粨鏉熸椂鍔犲洖杞︾n
for(i=0;ils_item+=row.ToString()+"t";
ls_item+=row.ToString()+"n";
//褰撳墠琛屾暟鎹鍐欏叆HTTP杈撳嚭娴侊紝骞朵笖缃绌簂s_item浠ヤ究涓嬭屾暟鎹
resp.Write(ls_item);
ls_item="";
}
}
else
{
if(typeid=="2")
{
//浠嶥ataSet涓鐩存帴瀵煎嚭XML鏁版嵁骞朵笖鍐欏埌HTTP杈撳嚭娴佷腑
resp.Write(ds.GetXml());
}
}
//鍐欑紦鍐插尯涓鐨勬暟鎹鍒癏TTP澶存枃浠朵腑
resp.End();
}
2銆佺敱datagrid鐢熸垚
澶嶅埗浠g爜浠g爜濡備笅:
publicvoidToExcel(System.Web.UI.Controlctl)
{
HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
HttpContext.Current.Response.Charset="UTF-8";
HttpContext.Current.Response.ContentEncoding=System.Text.Encoding.Default;
HttpContext.Current.Response.ContentType="application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
ctl.Page.EnableViewState=false;
System.IO.StringWritertw=newSystem.IO.StringWriter();
System.Web.UI.HtmlTextWriterhw=newSystem.Web.UI.HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
鐢ㄦ硶锛歍oExcel(datagrid1);
3銆佽繖涓鐢╠ataview
澶嶅埗浠g爜浠g爜濡備笅:
publicvoidOutputExcel(DataViewdv,stringstr)
{
//
//TODO:鍦ㄦゅ勬坊鍔犳瀯閫犲嚱鏁伴昏緫
//
//dv涓鸿佽緭鍑哄埌Excel鐨勬暟鎹锛宻tr涓烘爣棰樺悕绉
GC.Collect();
Applicationexcel;//=newApplication();
introwIndex=4;
intcolIndex=1;
_WorkbookxBk;
_WorksheetxSt;
excel=newApplicationClass();
xBk=excel.Workbooks.Add(true);
xSt=(_Worksheet)xBk.ActiveSheet;
//
//鍙栧緱鏍囬
//
foreach(DataColumncolindv.Table.Columns)
{
colIndex++;
excel.Cells=col.ColumnName;
xSt.get_Range(excel.Cells,excel.Cells).HorizontalAlignment=XlVAlign.xlVAlignCenter;//璁剧疆鏍囬樻牸寮忎负灞呬腑瀵归綈
}
//
//鍙栧緱琛ㄦ牸涓鐨勬暟鎹
//
foreach(DataRowViewrowindv)
{
rowIndex++;
colIndex=1;
foreach(DataColumncolindv.Table.Columns)
{
colIndex++;
if(col.DataType==System.Type.GetType("System.DateTime"))
{
excel.Cells=(Convert.ToDateTime(row.ToString())).ToString("yyyy-MM-dd");
xSt.get_Range(excel.Cells,excel.Cells).HorizontalAlignment=XlVAlign.xlVAlignCenter;//璁剧疆鏃ユ湡鍨嬬殑瀛楁垫牸寮忎负灞呬腑瀵归綈
}
else
if(col.DataType==System.Type.GetType("System.String"))
{
excel.Cells="'"+row.ToString();
xSt.get_Range(excel.Cells,excel.Cells).HorizontalAlignment=XlVAlign.xlVAlignCenter;//璁剧疆瀛楃﹀瀷鐨勫瓧娈垫牸寮忎负灞呬腑瀵归綈
}
else
{
excel.Cells=row.ToString();
}
}
}
//
//鍔犺浇涓涓鍚堣¤
//
introwSum=rowIndex+1;
intcolSum=2;
excel.Cells="鍚堣";
xSt.get_Range(excel.Cells,excel.Cells).HorizontalAlignment=XlHAlign.xlHAlignCenter;
//
//璁剧疆閫変腑鐨勯儴鍒嗙殑棰滆壊
//
xSt.get_Range(excel.Cells,excel.Cells).Select();
xSt.get_Range(excel.Cells,excel.Cells).Interior.ColorIndex=19;//璁剧疆涓烘祬榛勮壊锛屽叡璁℃湁56绉
//
//鍙栧緱鏁翠釜鎶ヨ〃鐨勬爣棰
//
excel.Cells=str;
//
//璁剧疆鏁翠釜鎶ヨ〃鐨勬爣棰樻牸寮
//
xSt.get_Range(excel.Cells,excel.Cells).Font.Bold=true;
xSt.get_Range(excel.Cells,excel.Cells).Font.Size=22;
//
//璁剧疆鎶ヨ〃琛ㄦ牸涓烘渶閫傚簲瀹藉害
//
xSt.get_Range(excel.Cells,excel.Cells).Select();
xSt.get_Range(excel.Cells,excel.Cells).Columns.AutoFit();
//
//璁剧疆鏁翠釜鎶ヨ〃鐨勬爣棰樹负璺ㄥ垪灞呬腑
//
xSt.get_Range(excel.Cells,excel.Cells).Select();
xSt.get_Range(excel.Cells,excel.Cells).HorizontalAlignment=XlHAlign.xlHAlignCenterAcrossSelection;
//
//缁樺埗杈规
//
xSt.get_Range(excel.Cells,excel.Cells).Borders.LineStyle=1;
xSt.get_Range(excel.Cells,excel.Cells).Borders.Weight=XlBorderWeight.xlThick;//璁剧疆宸﹁竟绾垮姞绮
xSt.get_Range(excel.Cells,excel.Cells).Borders.Weight=XlBorderWeight.xlThick;//璁剧疆涓婅竟绾垮姞绮
xSt.get_Range(excel.Cells,excel.Cells).Borders.Weight=XlBorderWeight.xlThick;//璁剧疆鍙宠竟绾垮姞绮
xSt.get_Range(excel.Cells,excel.Cells).Borders.Weight=XlBorderWeight.xlThick;//璁剧疆涓嬭竟绾垮姞绮
//
//鏄剧ず鏁堟灉
//
excel.Visible=true;
//xSt.Export(Server.MapPath(".")+""+this.xlfile.Text+".xls",SheetExportActionEnum.ssExportActionNone,Microsoft.Office.Interop.OWC.SheetExportFormat.ssExportHTML);
xBk.SaveCopyAs(Server.MapPath(".")+""+this.xlfile.Text+".xls");
ds=null;
xBk.Close(false,null,null);
excel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(xBk);
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xSt);
xBk=null;
excel=null;
xSt=null;
GC.Collect();
stringpath=Server.MapPath(this.xlfile.Text+".xls");
System.IO.FileInfofile=newSystem.IO.FileInfo(path);
Response.Clear();
Response.Charset="GB2312";
Response.ContentEncoding=System.Text.Encoding.UTF8;
//娣诲姞澶翠俊鎭锛屼负"鏂囦欢涓嬭浇/鍙﹀瓨涓"瀵硅瘽妗嗘寚瀹氶粯璁ゆ枃浠跺悕
Response.AddHeader("Content-Disposition","attachment;filename="+Server.UrlEncode(file.Name));
//娣诲姞澶翠俊鎭锛屾寚瀹氭枃浠跺ぇ灏忥紝璁╂祻瑙堝櫒鑳藉熸樉绀轰笅杞借繘搴
Response.AddHeader("Content-Length",file.Length.ToString());
//鎸囧畾杩斿洖鐨勬槸涓涓涓嶈兘琚瀹㈡埛绔璇诲彇鐨勬祦锛屽繀椤昏涓嬭浇
Response.ContentType="application/ms-excel";
//鎶婃枃浠舵祦鍙戦佸埌瀹㈡埛绔
Response.WriteFile(file.FullName);
//鍋滄㈤〉闈㈢殑鎵ц
Response.End();
}
瀵煎叆銆佸煎嚭EXCEL涓鐨勪竴浜涢棶棰樻眹鎬
涓銆佸湪椤圭洰涓鐨勬坊鍔犲紩鐢锛
鍙冲嚮椤圭洰璧勬簮绠$悊鍣ㄧ殑寮曠敤-->娣诲姞寮曠敤-->閫夋嫨.NET閫夐」鍗-->閫夋嫨Microsoft.Office.Interop.Excel-->纭瀹氾紱
鍦ㄩ夋嫨鏃舵敞鎰忎竴涓.NET缁勪欢鐨勭増鏈鍙凤紝鏈渚嬬殑12.0.0.0鏄疧ffice2007鐨勭増鏈锛
浜屻佸湪椤圭洰涓浣跨敤Microsoft.Office.Interop.Excel:
濡傛灉鎯充娇鐢∕icrosoft.Office.Interop.Excel,棣栧厛闇瑕佸湪椤圭洰涓寮曠敤鍛藉悕绌洪棿锛
usingMicrosoft.Office.Interop.Excel;
涓夈佸缓绔婨xcel.Application鐩稿叧瀵硅薄
澶嶅埗浠g爜浠g爜濡備笅:
//寤虹珛Application瀵硅薄
Microsoft.Office.Interop.Excel.ApplicationmyExcel=newApplication();
//寤虹珛Workbooks瀵硅薄
WorkbooksmyBooks=myExcel.Application.Workbooks;
//寤虹珛涓涓猄ystem.Reflection.Missing鐨刼bject瀵硅薄
objectoMissing=System.Reflection.Missing.Value;
鍥涖佹墦寮鎴栨柊寤篍xcel鐨刡ook鏂囦欢
澶嶅埗浠g爜浠g爜濡備笅:
//鎵撳紑Excel鏂囦欢锛屾敞鎰忛噷鐨勨淓xccelFilePath鈥濅负Excel鏂囦欢鍦ㄦ湇鍔″櫒涓婄殑鐗╃悊鍦板潃锛屽寘鎷鏂囦欢鍚
WorkbookmyBook=myBooks.Open(ExccelFilePath,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing,oMissing);
//鏂板缓Workseet瀵硅薄,锛屾ゅ勪负瑕佹搷浣滅殑宸ヤ綔琛锛屽綋鍓嶈佹搷浣滅殑宸ヤ綔琛ㄧ殑鑾峰彇鏂规硶鏈変袱绉嶏細浣跨敤宸ヤ綔琛ㄧ殑绱㈠紩鍊兼垨浣跨敤宸ヤ綔琛ㄧ殑鍚嶇О锛屽悕绉伴粯璁や负锛氣渟heet1鈥/鈥淪heet2鈥濈瓑
WorksheetmySheet=(Worksheet)myBook.Worksheets;
//濡傛灉鏄鏂板缓EXCEL宸ヤ綔绨匡紝闇瑕佽剧疆濡備笅涓よ屽唴瀹癸紝浠ヤ繚璇佸伐浣滅翱涓鏈変竴涓宸ヤ綔琛锛
Workbookworkbook1=excel1.Workbooks.Add(true);
WorksheetmySheet=(Worksheet)workbook1.Worksheets;
//璁剧疆EXCEL瀵硅薄鏄鍚︽樉绀虹晫闈锛岄粯璁や负false涓嶆樉绀虹晫闈
myExcel.Visble=true;
浜斻佷竴浜涙瘮杈冮噸瑕佺殑閽堝笶xcel鐨勬搷浣
1銆佽幏鍙朢ange瀵硅薄
鈶犮佽幏鍙栦竴涓鍗曞厓鏍肩殑Range瀵硅薄锛
澶嶅埗浠g爜浠g爜濡備笅:
//閫夋嫨绗涓琛屻佺涓鍒楃殑鍗曞厓鐨勫崟鍏冩牸涓篟ange瀵硅薄
Ranger=(Excel.Range)mySheet.Cells;
//閫夋嫨澶氫釜杩炵画鐨勫崟鍏冩牸涓篟ange瀵硅薄
Ranger=(Excel.Range)Range.get_Range("A1:F3")
鈶°佺粰鍗曞厓鏍艰祴鍊兼垨鍙栧嚭鍗曞厓鏍肩殑鍊:
澶嶅埗浠g爜浠g爜濡備笅:
//宸查夋嫨浜哛ange瀵硅薄鐨勮祴鍊硷細
r.Text="涓鍥";
//鏈閫夋嫨Range瀵硅薄鐨勮祴鍊:
mySheet.Cells.Text="涓鍥";
//宸查夋嫨浜哛ange瀵硅薄鐨勫彇鍊硷細
StringstrValue=r.Text;
//鏈閫夋嫨Range瀵硅薄鐨勫彇鍊:
StringstrValue=mySheet.Cells.Text;
鈶銆佺粰鍗曞厓鏍艰剧疆杈规
澶嶅埗浠g爜浠g爜濡備笅:
mySheet.Cells.BorderAround(XlLineStyle.xlContinuous,XlBorderWeight.xlThin,XlColorIndex.xlColorIndexAutomatic,null);//鐢荤嚎
鈶c佸悎骞跺崟鍏冩牸
澶嶅埗浠g爜浠g爜濡備笅:
//鍚堝苟鍗曞厓鏍煎墠鍏堣佸皢瑕佸悎骞剁殑鍗曞厓鏍奸夋嫨涓篟ange瀵硅薄
Ranger=Range.get_Range("A1:F3")锛
//鐒跺悗鐜拌剧疆鍚堝苟鍗曞厓鏍
r.MergeCells=true;
鈶ゃ佽剧疆鍗曞厓鏍肩殑瀛椾綋銆佸瓧鍙枫佽儗鏅鑹茬瓑灞炴
澶嶅埗浠g爜浠g爜濡備笅:
mySheet.Cells.Font.Name="榛戜綋";
mySheet.Cells.Font.Size=20;
mySheet.Rows.RowHeight=40;
mySheet.Cells.Interior.Color=Color.FromArgb(224,224,224);//璁剧疆棰滆壊
鈶ャ佸垹闄や竴琛岋細
澶嶅埗浠g爜浠g爜濡備笅:
//棣栧厛鑾峰彇瑕佸垹闄ょ殑琛岀殑Range
Microsoft.Office.Interop.Excel.Rangerange=(Microsoft.Office.Interop.Excel.Range)mySheet.Rows,Type.Missing];
//娉ㄦ剰鍒犻櫎琛屽悗鍒犻櫎鍚庣殑琛屽彿琚涓嬮潰鐨勮屾浛鎹锛屽傛灉閫愯屽垹闄わ紝璇峰厛浠庢渶澶х殑琛屽彿寰鏈灏忕殑琛屽彿鍒犻櫎
range.Delete(Microsoft.Office.Interop.Excel.XlDeleteShiftDirection.xlShiftUp);
鈶︺佽幏鍙栨湁鏁版嵁鐨勮屾暟
澶嶅埗浠g爜浠g爜濡備笅:
introwsint=mySheet.UsedRange.Cells.Rows.Count;
鍏銆丒XCEL鏂囦欢鐨勪繚瀛樹笌閫鍑
1銆丒XCEL鐨勪繚瀛樹笌閫鍑
澶嶅埗浠g爜浠g爜濡備笅:
myBook.Save();
myBooks.Close();
myExcel.Quit();
2銆丒XCEL鎸囧畾鏂囦欢淇濆瓨
澶嶅埗浠g爜浠g爜濡備笅:
myBook.Close(true,FilePath+_file_Name,null);
涓冦侀噴鏀綞XCLE瀵硅薄鐨勮祫婧愪笌缁撴潫EXCEL杩涚▼
鍏充簬杩欐柟闈㈠唴瀹规湁濂藉氱綉鍙嬮兘鍦ㄨ插氱嶆柟娉曪紝缁忚繃鏈浜哄疄璺碉紝浠ヤ笅鏂归潰鎵嶈兘鐪熸e仛鍒扮粨鏉烢XCEL鐨勪换鍔¤繘绋嬶細
1銆佸皢鎵鏈変互涓婂笶XCEL鐨勬搷浣滄斁鍒颁竴涓鏂规硶涓锛
2銆佸湪鎿嶄綔EXCEL鍚庯紝鍗虫椂灏嗕笉浣跨敤瀵硅薄涓涓閲婃斁骞惰祴null鍊硷細
澶嶅埗浠g爜浠g爜濡備笅:
System.Runtime.InteropServices.Marshal.ReleaseComObject(mysheet);
mysheet=null;
System.Runtime.InteropServices.Marshal.ReleaseComObject(myBook);
myBook=null;
System.Runtime.InteropServices.Marshal.ReleaseComObject(myBooks);
myBooks=null;
System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
myExcel=null;
3銆佸啀鏂板缓涓涓鏂规硶锛屽苟浠ヨユ柟娉曚腑鎵ц屼笂闈㈡柊寤虹殑鎿嶄綔EXCEL鏂规硶锛屽苟鍦ㄦ墽琛屽畬鎿嶄綔EXCEL鏂规硶鐨勫悗闈㈡坊鍔燝C.Collect()锛
澶嶅埗浠g爜浠g爜濡備笅:
//涓嬮潰鏂规硶涓璒utPutEXCEL()鏂规硶鏄杈撳嚭EXCEL鏂囦欢鐨勫笶XCEL
㈢ c#+asp.net如何删除指定路径下的文件和文件夹
.net提供了一个静态类Directory 用以处理文件夹相关操作 要删除指定路径下的文件和文件夹的话 可以使用Directory.Exists方法判断该路径是否存在 如果存在使用Directory.GetDirectories获取该路径下所有子文件夹 通过遍历使用Directory.Delete方法删除 再通过Directory.GetFiles获取该路径下所有文件 遍历使用File.Delete方法删除 具体代码如下
if(Directory.Exists(yourPath))
{
//获取指定路径下所有文件夹
string[]folderPaths=Directory.GetDirectories(yourPath);
foreach(stringfolderPathinfolderPaths)
Directory.Delete(folderPath,true);
//获取指定路径下所有文件
string[]filePaths=Directory.GetFiles(yourPath);
foreach(stringfilePathinfilePaths)
File.Delete(filePath);
}
如果你需要连你指定的文件夹一起删除 就简单的多 如下
if(Directory.Exists(yourPath))
Directory.Delete(yourPath,true);
上述两例中的yourPath应为指定文件夹的路径 如: D: est 第一例则会删除test文件夹下的所有子项 第二例则是test文件夹及其子项一起删除 需要注意的是Directory.Delete方法有两个重载 举例说明:
Directory.Delete(yourPath);//如果yourPath有子项则删除失败抛出异常
Directory.Delete(yourPath,true);//第二个为bool类型参数表示是否需要使用递归删除
补充说明 如果只是需要删除文件 就使用File类 如下
if(File.Exists(filePath))
File.Delete(filePath)
上例中的filePath为文件的完整路径 如: C: est est.txt
㈣ .net 如何删除文件及目录
Directory.Delete("路径",true);//删除路径及以下所有文件
㈤ asp.net 文件重命名和删除
文件和数据库是不可能自动联系到一起的,需要写代码去解决,需要独立处理。
最好在更新数据库的时候对文件做相应的操作。
比如在更新数据库里文件名之前,先读取出老的文件名,然后转换成服务器绝对路径,找到并重命名老文件到新文件名,然后再更新数据库。
文件操作主要用System.IO命名空间中的几个类的静态方法,你自己试试吧,比较简单:
Directory、File、DirectoryInfo以及FileInfo 创建、删除并移动目录和文件,通过属性获取特定目录和文件的相关信息