技术文摘
ASP.Net MVC 借助 NPOI 实现 Excel 导入导出的示例代码
ASP.Net MVC 借助 NPOI 实现 Excel 导入导出的示例代码
在 ASP.Net MVC 开发中,经常会遇到需要实现 Excel 导入导出的功能。NPOI 是一个强大的开源库,能够帮助我们轻松地完成这一任务。下面将为您展示一个示例代码,帮助您理解如何在 ASP.Net MVC 中借助 NPOI 来实现 Excel 的导入导出。
确保您已经在项目中引入了 NPOI 的相关 DLL 引用。
导出 Excel 的代码实现如下:
public ActionResult ExportExcel()
{
var workbook = new HSSFWorkbook();
var sheet = workbook.CreateSheet("Sheet1");
// 设置表头
var headerRow = sheet.CreateRow(0);
headerRow.CreateCell(0).SetCellValue("ID");
headerRow.CreateCell(1).SetCellValue("名称");
headerRow.CreateCell(2).SetCellValue("年龄");
// 模拟数据
var data = new List<Person>
{
new Person { Id = 1, Name = "张三", Age = 25 },
new Person { Id = 2, Name = "李四", Age = 30 }
};
// 填充数据
for (int i = 0; i < data.Count; i++)
{
var row = sheet.CreateRow(i + 1);
row.CreateCell(0).SetCellValue(data[i].Id);
row.CreateCell(1).SetCellValue(data[i].Name);
row.CreateCell(2).SetCellValue(data[i].Age);
}
// 将工作簿写入内存流
using (var ms = new MemoryStream())
{
workbook.Write(ms);
return File(ms.ToArray(), "application/vnd.ms-excel", "Export.xls");
}
}
导入 Excel 的代码实现相对复杂一些,需要对文件进行读取和解析:
[HttpPost]
public ActionResult ImportExcel(HttpPostedFileBase file)
{
if (file == null || file.ContentLength == 0)
{
ModelState.AddModelError("File", "请选择要导入的 Excel 文件");
return View();
}
using (var workbook = new HSSFWorkbook(file.InputStream))
{
var sheet = workbook.GetSheetAt(0);
for (int rowNum = 1; rowNum <= sheet.LastRowNum; rowNum++)
{
var row = sheet.GetRow(rowNum);
if (row!= null)
{
int id = Convert.ToInt32(row.GetCell(0).NumericCellValue);
string name = row.GetCell(1).StringCellValue;
int age = Convert.ToInt32(row.GetCell(2).NumericCellValue);
// 在此处处理导入的数据
}
}
}
return RedirectToAction("Index");
}
通过上述示例代码,我们可以看到,借助 NPOI 库,在 ASP.Net MVC 中实现 Excel 的导入导出功能变得相对简单和高效。您可以根据实际的业务需求,对数据的处理和逻辑进行进一步的扩展和优化。
希望这段示例代码能够对您在 ASP.Net MVC 开发中实现 Excel 导入导出功能有所帮助,让您的应用更加完善和实用。
TAGS: 示例代码 NPOI ASP.NET MVC Excel 导入导出
- fdisk 命令管理磁盘分区全面解析
- Vim 命令集萃
- 如何利用 shell 脚本判断文件是否存在
- Linux 中 Lua 扩展 so 文件编写及调用实例
- Lua 数组(table)中特定值的检测
- Lua 中文件遍历操作的代码示例
- 解决 Jenkins 执行 shell 脚本“sh: … not found”问题的方法
- Lua5.1 加载 dll 动态链接库的办法
- Lua 中计算与执行字符串内 Lua 代码的途径
- Redis 教程之五:Set 数据类型
- PowerShell 远程执行任务的流程与方法
- Redis 教程之三:List 数据类型
- 掌握 Powershell 玩转各版本 SQL SERVER 的技巧
- Lua 教程(二十一):C 函数编写技巧
- Lua 教程之二十二:userdata