C# 導出數據到Excel


后台代碼

public ActionResult ExportUserInfo()
{
    HSSFWorkbook hssfworkbook = new HSSFWorkbook();
    #region 定義excel表格
    ISheet sheet1 = hssfworkbook.CreateSheet("Sheet1");
    IRow row = sheet1.CreateRow(0);
    //設置列寬度
    sheet1.SetColumnWidth(0, 20 * 256);
    sheet1.SetColumnWidth(1, 30 * 256);

    IRow row1 = sheet1.CreateRow(0);
    row1.CreateCell(0).SetCellValue("姓名");
    row1.CreateCell(1).SetCellValue("性別");
    #endregion

    #region 填充數據
    int rownum = 1;
    var list = new List<UserInfo>(){new UserInfo(){Name="小明",Sex=""},new UserInfo(){Name="小紅",Sex=""};}
    if (!list.Any()) return Json(new { result = false, msg = "沒有數據" });
    foreach (var model in list)
    {
        IRow row3 = sheet1.CreateRow(rownum);
        row3.CreateCell(0).SetCellValue(model.Name);
        row3.CreateCell(1).SetCellValue(model.Sex);
        rownum++;
    }

    #endregion

    string folder = Server.MapPath("/Down/");
    if (!Directory.Exists(folder))
    {
        Directory.CreateDirectory(folder);
    }
    //寫入到表格
    string filename2 = "用戶信息" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls";
    using (FileStream fs = new FileStream(folder + filename2, FileMode.OpenOrCreate, FileAccess.Write))
    {
        hssfworkbook.Write(fs);
    }

    string url = "../Down/" + filename2;
    return Json(new { result = true, url = url });
}

前台代碼

//導出用戶信息
function ExportUserInfos() {
    $.ajax({
        url: '/UserInfo/ExportUserInfo',
        type: 'post',
        cache: false,
        success: function (json) {
            if (json.result)
                window.location.href = json.url;
            else
               alert("沒有數據!");
        }, error: function () {
            alert("網絡錯誤,請稍后重試");
        }
    });
}

 


免責聲明!

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



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