代码拉取完成,页面将自动刷新
只需要引用NPOI官网相关dll,然后把NPOIService 和CommonUtility 引用到项目中即可,可以快速构建项目导出,无需关注NPOI底层实现。
NPOIService:基于NPOI分装的EXCEL主要核心代码
1、把List封装为Excel
public static void ListToExcel<T>(IWorkbook workbook, ISheet sheet, List<T> collection, List<ExcelColumn> columns, ExcelTitle title = null)
2、Excel分装为List
public static List<T> ExcelToList<T>(IWorkbook workbook, ISheet sheet, List<ExcelColumn> columns, int headRowIndex = 0)
3、读取Excel模板 填充数据
public static void AppendToExcel<T>(IWorkbook workbook, ISheet sheet, List<T> collection, List<ExcelColumn> columns, int startRow, ExcelTitle title = null)
4、数据绑定
private static void ListToExcelDataRow<T>(IWorkbook workbook, ISheet sheet, List<T> collection, List<ExcelColumn> columns, int startRow)
导出Excel
public ActionResult SettlementExport()
{
//1、获取数据
var list = settlementList;
//2、IWorkbook 和ISheet
IWorkbook workbook = new HSSFWorkbook();//new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet("对账单");
//3、设置导出的列
List<ExcelColumn> columns = new List<ExcelColumn>();
columns.Add(new ExcelColumn<SettlementModel> { FieldExpr = u => u.Id });
columns.Add(new ExcelColumn<SettlementModel>
{
FieldExpr = u => u.BussinessType,
Name = "业务类型2",
OnDataBind = (value, item, cell) => item.BussinessType == 1 ? "月结对账单" : "季度结对账单"
});
columns.Add(new ExcelColumn<SettlementModel> { FieldExpr = u => u.CreateDateBegin, Width = 100 });
columns.Add(new ExcelColumn<SettlementModel> { FieldExpr = u => u.CreateDateEnd });
columns.Add(new ExcelColumn<SettlementModel> { FieldExpr = u => u.SerialId });
columns.Add(new ExcelColumn<SettlementModel> { FieldExpr = u => u.Title });
//4、把数据和列做绑定
NPOIService.ListToExcel(workbook, sheet, list, columns);
//5、导出excel
return ExportExcel(DateTime.Now.ToString("yyyyMMddHHmmss"), workbook);
}
导入Excel
public ActionResult ExcelImport()
{
try
{
IWorkbook workbook = NPOIService.GetWorkbook(HttpContext.Request);
ISheet sheet = workbook.GetSheetAt(0);
List<ExcelColumn> columns = new List<ExcelColumn>();
columns.Add(new ExcelColumn<SettlementModel> { FieldExpr = u => u.Id });
columns.Add(new ExcelColumn<SettlementModel> { FieldExpr = u => u.BussinessType });
columns.Add(new ExcelColumn<SettlementModel> { FieldExpr = u => u.CreateDateBegin, AllowNull = true });
columns.Add(new ExcelColumn<SettlementModel> { FieldExpr = u => u.CreateDateEnd });
columns.Add(new ExcelColumn<SettlementModel> { FieldExpr = u => u.SerialId });
columns.Add(new ExcelColumn<SettlementModel> { FieldExpr = u => u.Title });
var list = NPOIService.ExcelToList<SettlementModel>(workbook, sheet, columns);
//业务逻辑处理
}
catch (Exception ex)
{
//异常处理
}
return Json(new { Success = true }, JsonRequestBehavior.AllowGet);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型