//Excel導(dǎo)出方法
public void ExportToExcel()
{
//模板文件路徑
string SaveDicPath = Server.MapPath("~/TemplateFiles/");
string SaveFilePath = SaveDicPath + "userfile.xls";
//導(dǎo)出文件路徑
string TempPath = Server.MapPath("~/TempFiles/");
if (!Directory.Exists(TempPath))
{
Directory.CreateDirectory(TempPath);
}
//excel文件名
string FileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
string newFileName = TempPath + FileName;
//文件存在則刪除,避免復(fù)制發(fā)生錯誤
if (File.Exists(newFileName))
{
File.Delete(newFileName);
}
//將模板文件復(fù)制新的excel文件,用來下載
File.Copy(SaveFilePath, newFileName);
//初始化對象
Application app = null;
Workbook MyBook = null;
Worksheet mySheet = null;
app = new Application();
MyBook = app.Workbooks.Open(newFileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
mySheet = (Worksheet)MyBook.Worksheets[1];
System.Data.DataTable dt = (System.Data.DataTable)Session["datatable"];
//向EXCEL循環(huán)插入值
for (int i = 0; i < dt.Rows.Count; i++)
{
mySheet.Cells[2 + i, 1] = dt.Rows[i][1].ToString().Trim(); //部門
mySheet.Cells[2 + i, 2] = dt.Rows[i][3].ToString().Trim(); //工號
mySheet.Cells[2 + i, 3] = dt.Rows[i][4].ToString().Trim(); //姓名
mySheet.Cells[2 + i, 4] = "";
}
//保存工作簿
MyBook.Save();
MyBook.Saved = true;
if (mySheet != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(mySheet);
mySheet = null;
}
if (MyBook != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(MyBook);
MyBook = null;
}
//關(guān)閉對象
app.Workbooks.Close();
app.Quit();
if (app != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
app = null;
}
GC.Collect(); //垃圾回收
//跳轉(zhuǎn)到相應(yīng)的excel文件,進(jìn)行下載
Response.Redirect("..//TempFiles//" + FileName);
}
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。