1.使用Npoi,只引用“NPOI.dll”,就可以实现基本导出功能
public class HomeController : Controller { public void Nopi() { HSSFWorkbook book = new HSSFWorkbook(); ISheet sheet = book.CreateSheet("sheet1"); List<User> list = GetUsers(); IRow row = sheet.CreateRow(0); row.CreateCell(0).SetCellValue("ID"); row.CreateCell(1).SetCellValue("姓名"); for (int i = 0; i < list.Count; i++) { row = sheet.CreateRow(i + 1);//初始化第i行 row.CreateCell(0).SetCellValue(list[i].Id);//第0个单元格初始化并赋值 row.CreateCell(1).SetCellValue(list[i].Name); } row = sheet.CreateRow(list.Count + 2); row.CreateCell(0).SetCellValue("导出时间:"); row.CreateCell(1).SetCellValue(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")); //第n行自适应列宽 sheet.AutoSizeColumn(0); sheet.AutoSizeColumn(1); System.IO.MemoryStream ms = new System.IO.MemoryStream(); book.Write(ms); Response.AddHeader("Content-Disposition", "attachment; filename=test.xls"); Response.BinaryWrite(ms.ToArray()); book = null; ms.Close(); ms.Dispose(); } static List<User> GetUsers() { List<User> list = new List<User>() { new User{Id=1,Name="张三"}, new User{Id=2,Name="李四"}, new User{Id=3,Name="王五"} }; return list; } }
$("#btnToExcel2").die().live("click", function () { window.open("/Home/Nopi"); })