143 lines
6.4 KiB
C#
143 lines
6.4 KiB
C#
using Competition.Common.Util;
|
||
using CompetitionAPI.api.back;
|
||
using CompetitionAPI.Util;
|
||
using Microsoft.AspNetCore.Authorization;
|
||
using Microsoft.AspNetCore.Http;
|
||
using Microsoft.AspNetCore.Mvc;
|
||
using System.Data;
|
||
using System.Text.RegularExpressions;
|
||
|
||
namespace CompetitionAPI.Controllers.back.system
|
||
{
|
||
[Route("api/[controller]")]
|
||
[ApiController]
|
||
public class ExportUserController : Controller
|
||
{
|
||
Competition.Mysql.BLL.admin_user user_bll = new Competition.Mysql.BLL.admin_user();
|
||
|
||
public ExportUserController()
|
||
{
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 导出用户接口
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
[Authorize]
|
||
[HttpPost]
|
||
[APIFilter]
|
||
public ActionResult Index([FromBody] ExportUserRequest req)
|
||
{
|
||
try
|
||
{
|
||
if (req != null)
|
||
{
|
||
if (req.UserIdList.Count <= 0)
|
||
{
|
||
return Json(Tool.GetJsonWithCode(APICode.Fail, "用户id集合不能为空"));
|
||
}
|
||
|
||
var workbook = new NPOI.HSSF.UserModel.HSSFWorkbook();
|
||
var sheet = workbook.CreateSheet("sheet1");
|
||
var row1 = sheet.CreateRow(0);//第1行
|
||
var cell1_1 = row1.CreateCell(0);//第1列
|
||
cell1_1.SetCellValue("所属市");
|
||
var cell1_2 = row1.CreateCell(1);//第2列
|
||
cell1_2.SetCellValue("姓名");
|
||
var cell1_3 = row1.CreateCell(2);//第3列
|
||
cell1_3.SetCellValue("ERP编码");
|
||
var cell1_4 = row1.CreateCell(3);//第4列
|
||
cell1_4.SetCellValue("性别");
|
||
var cell1_5 = row1.CreateCell(4);//第5列
|
||
cell1_5.SetCellValue("员工编码");
|
||
var cell1_6 = row1.CreateCell(5);//第6列
|
||
cell1_6.SetCellValue("工作单位");
|
||
var cell1_7 = row1.CreateCell(6);//第7列
|
||
cell1_7.SetCellValue("所在部门");
|
||
var cell1_8 = row1.CreateCell(7);//第8列
|
||
cell1_8.SetCellValue("工作岗位");
|
||
var cell1_9 = row1.CreateCell(8);//第9列
|
||
cell1_9.SetCellValue("身份证号");
|
||
var cell1_10 = row1.CreateCell(9);//第9列
|
||
cell1_10.SetCellValue("参加工作时间");
|
||
var cell1_11 = row1.CreateCell(10);//第9列
|
||
cell1_11.SetCellValue("文化程度");
|
||
var cell1_12 = row1.CreateCell(11);//第9列
|
||
cell1_12.SetCellValue("现有专业资格等级");
|
||
var cell1_13 = row1.CreateCell(12);//第9列
|
||
cell1_13.SetCellValue("现有职业技能等级");
|
||
var cell1_14 = row1.CreateCell(13);//第9列
|
||
cell1_14.SetCellValue("联系电话");
|
||
var cell1_15 = row1.CreateCell(14);//第9列
|
||
cell1_15.SetCellValue("密码");
|
||
var cell1_16 = row1.CreateCell(15);//第9列
|
||
cell1_16.SetCellValue("备注");
|
||
|
||
var data = user_bll.GetModelList(" user_id in ('" + string.Join("','", req.UserIdList.ToArray()) + "') ");
|
||
|
||
for (var i = 0; i < data.Count; i++)
|
||
{
|
||
var model = data[i];
|
||
var row = sheet.CreateRow(i + 1);
|
||
var cell1 = row.CreateCell(0);
|
||
var cell2 = row.CreateCell(1);
|
||
var cell3 = row.CreateCell(2);
|
||
var cell4 = row.CreateCell(3);
|
||
var cell5 = row.CreateCell(4);
|
||
var cell6 = row.CreateCell(5);
|
||
var cell7 = row.CreateCell(6);
|
||
var cell8 = row.CreateCell(7);
|
||
var cell9 = row.CreateCell(8);
|
||
var cell10 = row.CreateCell(9);
|
||
var cell11 = row.CreateCell(10);
|
||
var cell12 = row.CreateCell(11);
|
||
var cell13 = row.CreateCell(12);
|
||
var cell14 = row.CreateCell(13);
|
||
var cell15 = row.CreateCell(14);
|
||
var cell16 = row.CreateCell(15);
|
||
|
||
cell1.SetCellValue(model.OwnCity);
|
||
cell2.SetCellValue(model.real_name);
|
||
cell3.SetCellValue(model.ErpCode);
|
||
cell4.SetCellValue(model.sex);
|
||
cell5.SetCellValue(model.login_name);
|
||
cell6.SetCellValue(model.unit_name);
|
||
cell7.SetCellValue(model.dep_name);
|
||
cell8.SetCellValue(model.GZGW);
|
||
cell9.SetCellValue(model.id_card);
|
||
cell10.SetCellValue(model.WorkDate.HasValue ? model.WorkDate.Value.ToString("yyyy年MM月") : "");
|
||
cell11.SetCellValue(model.Education);
|
||
cell12.SetCellValue(model.NowMajorGrade);
|
||
cell13.SetCellValue(model.NowJobGrade);
|
||
cell14.SetCellValue(model.mobile);
|
||
cell15.SetCellValue(EncryptionAndDecryption.DecryptByLgzn(EncryptionAndDecryption.DecryptByLgzn(model.password)));
|
||
cell16.SetCellValue(model.r1);
|
||
}
|
||
|
||
//保存Workbook方式二: 保存到内存流中
|
||
var stream = new MemoryStream();
|
||
workbook.Write(stream);
|
||
stream.Flush();
|
||
stream.Position = 0;
|
||
|
||
sheet = null;
|
||
workbook = null;
|
||
|
||
string ExcelName = string.Format("{0}.xls", "用户管理_" + DateTime.Now.ToString("yyyyMMddHHmmss"));
|
||
return File(stream, "application/vnd.ms-excel", ExcelName);
|
||
}
|
||
else
|
||
{
|
||
return Json(Tool.GetJsonWithCode(APICode.Fail, "请求参数不能为空"));
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
LogHelper.WriteLog(ex.Message + ",行号:" + ex.StackTrace);
|
||
return Json(Tool.GetJsonWithCode(APICode.Fail, "发生错误,请联系管理员。"));
|
||
}
|
||
}
|
||
}
|
||
}
|