Aspose.Cells 根據Excel模板導出數據統計


如最近公司項目中用到數據統計出Excel報表,從博客園找了相關的文章,第一次用到了Aspose.Cells,聽說很強大。因為技術很菜,學習別的大牛的博客文章搗鼓了好久才搞出來,記錄一下備忘。呵呵~

    using Aspose.Cells;//Aspose.Cells引入的命名空間
/// <summary> /// 導出報表 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void imgbtnExportExcel_Click(object sender, ImageClickEventArgs e) { DataTable dt = helper.ExecuteDataTable(querySql); dt.TableName = "A"; if (dt.Rows.Count == 0) return; WorkbookDesigner designer = new WorkbookDesigner(); //Server.MapPath("./") string path = System.IO.Path.Combine(Server.MapPath("./"), "Templete/book1.xls"); designer.Open(path); designer.SetDataSource(dt); designer.Process(); //Save the excel file string fileToSave = System.IO.Path.Combine(Server.MapPath("./"), "Templete/JH_ManageExcel.xls"); if (File.Exists(fileToSave)) { File.Delete(fileToSave); } designer.Save(fileToSave, FileFormatType.Excel2003); //打開Excel文件 Process.Start(fileToSave); }
sqlhelper.cs
public DataSet ExcuteDataSet(string sql) { SqlConnection con = new SqlConnection(connectionString); con.Open(); SqlDataAdapter dr = new SqlDataAdapter(sql, con); DataSet ds = new DataSet(); dr.Fill(ds); con.Close(); return ds; }
*****************************************第二種寫法********************************出現保存窗口提示用戶保存
  DataTable dt = helper.ExecuteDataTable(querySql);
            dt.TableName = "A";
            if (dt.Rows.Count == 0)
                return;
            WorkbookDesigner designer = new WorkbookDesigner();
            designer.Open(MapPath("~/Templete/book1.xls"));
            designer.SetDataSource(dt);
            designer.Process();            
            designer.Save(string.Format("JH-report.xls"), SaveType.OpenInExcel, FileFormatType.Excel2003, Response);
            Response.Flush();
            Response.Close();
            designer = null;
            Response.End();

自己建立一個兼容excel 模板,寫好樣式,填好公式。

效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM