培训计划新增定制Excel导入

master
xiaochanghai 2 months ago
parent 00346a6850
commit aed1ae888b
  1. BIN
      Tiobon.Core.Api/wwwroot/files/ExcelTemplate/1907723940382511104.xlsx
  2. 81
      Tiobon.Core.Services/Ghre/Ghre_PlanServices.cs

@ -1,4 +1,6 @@
using NPOI.SS.UserModel; using NPOI.SS.UserModel;
using NPOI.SS.Util;
using static Tiobon.Core.DataAccess.ReportHelper;
using static Tiobon.Core.Model.Consts; using static Tiobon.Core.Model.Consts;
namespace Tiobon.Core.Services; namespace Tiobon.Core.Services;
@ -398,6 +400,51 @@ public class Ghre_PlanServices : BaseServices<Ghre_Plan, Ghre_PlanDto, InsertGhr
var newFileName = Guid.NewGuid() + ".xlsx"; var newFileName = Guid.NewGuid() + ".xlsx";
int listColIndex = 0; int listColIndex = 0;
var items = await GetParaList("TrainingCategory");
var depts = await Db.Queryable<Ghro_Dept>().Select(x => new
{
x.DeptID,
x.DeptName
}).ToListAsync();
//var courses = await Db.Queryable<Ghre_Course>().Select(x => new
//{
// x.Id,
// x.CourseName
//}).ToListAsync();
var schools = await Db.Queryable<Ghre_School>().Select(x => new
{
x.Id,
x.SchoolName
}).ToListAsync();
int sheetIndex = hssfworkbook.GetSheetIndex("培训计划");
if (sheetIndex >= 0)
{
sheet = hssfworkbook.GetSheetAt(sheetIndex);
//设置数据源的值
IDataValidationConstraint dvConstraint1 = sheet.GetDataValidationHelper().CreateExplicitListConstraint(items.Select(x => x.ParaDetailName).ToArray());
//设置编辑的区域
IDataValidation dataValidation1 = sheet.GetDataValidationHelper().CreateValidation(dvConstraint1, new CellRangeAddressList(1, 65535, 2, 2));
sheet.AddValidationData(dataValidation1);
dvConstraint1 = sheet.GetDataValidationHelper().CreateExplicitListConstraint(depts.Select(x => x.DeptName).ToArray());
//设置编辑的区域
dataValidation1 = sheet.GetDataValidationHelper().CreateValidation(dvConstraint1, new CellRangeAddressList(1, 65535, 1, 1));
sheet.AddValidationData(dataValidation1);
//dvConstraint1 = sheet.GetDataValidationHelper().CreateExplicitListConstraint(courses.Select(x => x.CourseName).ToArray());
////设置编辑的区域
//dataValidation1 = sheet.GetDataValidationHelper().CreateValidation(dvConstraint1, new CellRangeAddressList(1, 65535, 3, 3));
//sheet.AddValidationData(dataValidation1);
dvConstraint1 = sheet.GetDataValidationHelper().CreateExplicitListConstraint(schools.Select(x => x.SchoolName).ToArray());
//设置编辑的区域
dataValidation1 = sheet.GetDataValidationHelper().CreateValidation(dvConstraint1, new CellRangeAddressList(1, 65535, 5, 5));
sheet.AddValidationData(dataValidation1);
}
//string sql = @"select 'Course' field, Id id, CourseNo no, CourseName name from Ghre_Course where IsEnable=1 and Status='Released'"; //string sql = @"select 'Course' field, Id id, CourseNo no, CourseName name from Ghre_Course where IsEnable=1 and Status='Released'";
//var dataSourceLists = await Db.Ado.SqlQueryAsync<DataSourceList>(sql); //var dataSourceLists = await Db.Ado.SqlQueryAsync<DataSourceList>(sql);
//if (dataSourceLists.Any()) //if (dataSourceLists.Any())
@ -418,25 +465,23 @@ public class Ghre_PlanServices : BaseServices<Ghre_Plan, Ghre_PlanDto, InsertGhr
// } // }
// }); // });
// MemoryStream ms; MemoryStream ms;
// using (ms = new MemoryStream()) using (ms = new MemoryStream())
// { {
// hssfworkbook.Write(ms); hssfworkbook.Write(ms);
// ms.Flush(); ms.Flush();
// hssfworkbook.Dispose(); hssfworkbook.Dispose();
// //ms.Position = 0; //ms.Position = 0;
// //return ms; //return ms;
// } }
// using (FileStream fs = new FileStream(physicsPath + path + newFileName, FileMode.Create, FileAccess.Write)) using (FileStream fs = new FileStream(physicsPath + path + newFileName, FileMode.Create, FileAccess.Write))
// { {
// byte[] data = ms.ToArray(); byte[] data = ms.ToArray();
// fs.Write(data, 0, data.Length); fs.Write(data, 0, data.Length);
// fs.Flush(); fs.Flush();
// } }
//}
var physicsPath1 = physicsPath + path + fileName; var physicsPath1 = physicsPath + path + newFileName;
if (menuName == "F_TrainPlan_Temporary") if (menuName == "F_TrainPlan_Temporary")
return ServiceResult<string>.OprateSuccess("计划暂存_" + DateTimeHelper.ConvertToSecondString1(DateTime.Now) + ".xlsx", physicsPath1); return ServiceResult<string>.OprateSuccess("计划暂存_" + DateTimeHelper.ConvertToSecondString1(DateTime.Now) + ".xlsx", physicsPath1);
else else

Loading…
Cancel
Save