easyui input 回车事件

easyui的input控件在输入完成后,可以处理回车事件以便进行下一步的操作,代码如下:

$('#keyword').textbox({
    inputEvents: $.extend({}, $.fn.textbox.defaults.inputEvents, {
        keyup: function (event) {
            if (event.keyCode == 13) {
                _search();
            }
        }
    })
});

C# NPOI读取excel

在.NET中,我们操作excel一般都是使用NPOI这个组件,它成熟稳定又好用。下面的代码记录了项目中的一段使用NPOI读取excel的功能的实现:

using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

IWorkbook hssfwb;
using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read))
{
    if (fileName.IndexOf(".xlsx") > 0) // 2007版本
        hssfwb = new XSSFWorkbook(fs);
    else // if (fileName.IndexOf(".xls") > 0) // 2003版本
        hssfwb = new HSSFWorkbook(fs); 
}

ISheet sheet = hssfwb.GetSheetAt(0); // 或 ISheet sheet = hssfwb.GetSheet("Arkusz1");
for (int row = 1; row <= sheet.LastRowNum; row++)
{
    if (sheet.GetRow(row) != null) //null is when the row only contains empty cells
    {
        var s = string.Format("Row {0} = {1}", row, sheet.GetRow(row).GetCell(0).StringCellValue);
    }
}

对DTO的理解 

DTO是一个类,相当于ViewModel,通过restful api接口传输

DTO贯穿在request的过程中,viewmodel也差不多

使用的时候,通过automapper实体映射工具和数据库实体进行转换

DTO是后端不同模块之间传输数据用,不涉及前端和视图