Excelpackage的簡單使用(導出用戶信息並保存)


EPPlus介紹

EPPlus是一個使用Open Office XML(xlsx)文件格式,能讀寫Excel 2007/2010 文件的開源組件,在導出Excel的時候不需要電腦上安裝office。

基本上Excel上的各種功能(例如圖表、VBA、數據透視表、加密、數據驗證等)Epplus都能實現,它的一個缺點就是不支持導出2003版的Excel。

1、創建Excel

首先引入EPPlus的DLL文件,

創建Excel,所有代碼均放在這個using語句里面,在using語句里面我們可以創建多個worksheet, ExcelPackage后面可以傳入路徑參數

using (ExcelPackage package=new ExcelPackage(new FileInfo(@"d:\test.xlsx"))){ }

2、創建工作表worksheet

using (ExcelPackage package=new ExcelPackage(new FileInfo(@"d:\test.xlsx")))
{
   ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test");//創建worksheet
}

3、保存Excel

using (ExcelPackage package = new ExcelPackage(new FileInfo(@"d:\test.xlsx")))
 {
     ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test");//創建worksheet
     package.Save();//保存excel
 }

4、添加數據

 Epplus中給單元格賦值非常簡單,兩種方法:( ps:Epplus的所有行列數都是以1開始的 )

worksheet.Cells[1, 1].Value = "名稱";//直接指定行列數進行賦值
worksheet.Cells["A1"].Value = "名稱";//直接指定單元格進行賦值

  

完整的創建一個Excel的例子代碼

FileInfo newFile = new FileInfo(@"d:\test.xlsx");
            if (newFile.Exists)
            {
    newFile.Delete();
    newFile = new FileInfo(@"d:\test.xlsx");
            }
            using (ExcelPackage package = new ExcelPackage(newFile))
            {
    ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("test");
    worksheet.Cells[1, 1].Value = "名稱";
    worksheet.Cells[1, 2].Value = "價格";
    worksheet.Cells[1, 3].Value = "銷量";

    worksheet.Cells[2, 1].Value = "大米";
    worksheet.Cells[2, 2].Value = 56;
    worksheet.Cells[2, 3].Value = 100;

    worksheet.Cells[3, 1].Value = "玉米";
    worksheet.Cells[3, 2].Value = 45;
    worksheet.Cells[3, 3].Value = 150;

    worksheet.Cells[4, 1].Value = "小米";
    worksheet.Cells[4, 2].Value = 38;
    worksheet.Cells[4, 3].Value = 130;

    worksheet.Cells[5, 1].Value = "糯米";
    worksheet.Cells[5, 2].Value = 22;
    worksheet.Cells[5, 3].Value = 200;

    package.Save();
            }

 

在數據導入Excel中時,如果數據量很大,可能會比較慢。   我覺得可以拆分成幾個Excel表格進行導出(沒有嘗試,只是猜測......)

可以用到的一些創建文件夾的東西

獲取文件夾的物理路徑 HttpContext.Current.Server.MapPath("/文件夾名");

組合完整Excel路徑(也可以用字符串拼接)Path.Combine(Template,"數據導出的表格.xlsx");

  其他:  String.Replace   替換

      File.Copy   復制


免責聲明!

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



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