|
|
|
@ -42,14 +42,14 @@ namespace TeacherExt.Controllers
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public FileResult Export()
|
|
|
|
|
{
|
|
|
|
|
var template = Path.Combine(this._env.ContentRootPath,"wwwroot", "teacher.xlsx");
|
|
|
|
|
var template = Path.Combine(this._env.ContentRootPath, "wwwroot", "teacher.xlsx");
|
|
|
|
|
using var fs = System.IO.File.OpenRead(template);
|
|
|
|
|
var wk = new XSSFWorkbook(fs);
|
|
|
|
|
var sheet = wk.GetSheetAt(0);
|
|
|
|
|
this.ExportInternal(sheet);
|
|
|
|
|
using var ms = new MemoryStream();
|
|
|
|
|
wk.Write(ms);
|
|
|
|
|
return File(ms.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",$"教师列表_{DateTime.Now.ToString("yyyy_MM-dd_HH_mm_ss")}.xlsx");
|
|
|
|
|
return File(ms.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"教师列表_{DateTime.Now.ToString("yyyy_MM-dd_HH_mm_ss")}.xlsx");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ExportInternal(ISheet sheet)
|
|
|
|
@ -89,13 +89,13 @@ namespace TeacherExt.Controllers
|
|
|
|
|
row.Order(10).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.IdNumber);
|
|
|
|
|
row.Order(11).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.JobStart.Value.ToString("yyyy-MM"));
|
|
|
|
|
row.Order(12).CreateCell(++colIndex).SetStyle(style).SetType(CellType.Numeric).SetCellValue(teacher.JobAge.Value);
|
|
|
|
|
row.Order(13).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.TeachDate.HasValue?teacher.TeachDate.Value.ToString("yyyy-MM"):"");
|
|
|
|
|
row.Order(13).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.TeachDate.HasValue ? teacher.TeachDate.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(14).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.CurrentJobStart.HasValue ? teacher.CurrentJobStart.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(15).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.Politics);
|
|
|
|
|
row.Order(16).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.JoinPartyDate.HasValue ? teacher.JoinPartyDate.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(17).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MaxTitle);
|
|
|
|
|
row.Order(18).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MaxTitleStart.Value.ToString("yyyy-MM"));
|
|
|
|
|
if(teacher.IsJobAsMaxTitle.Value)
|
|
|
|
|
if (teacher.IsJobAsMaxTitle.Value)
|
|
|
|
|
{
|
|
|
|
|
row.Order(19).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.JobAsMaxTitleDate.Value.ToString("yyyy-MM"));
|
|
|
|
|
row.Order(20).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String);
|
|
|
|
@ -113,14 +113,14 @@ namespace TeacherExt.Controllers
|
|
|
|
|
}
|
|
|
|
|
row.Order(24).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.PostType);
|
|
|
|
|
row.Order(25).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.PostGrade);
|
|
|
|
|
row.Order(26).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.CurrentPostGradeStart.HasValue? teacher.CurrentPostGradeStart.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(26).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.CurrentPostGradeStart.HasValue ? teacher.CurrentPostGradeStart.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(27).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.EducationGrade);
|
|
|
|
|
row.Order(28).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(string.IsNullOrEmpty(teacher.EducationGrade) ? "":teacher.EducationGradeDate.Value.ToString("yyyy-MM"));
|
|
|
|
|
row.Order(28).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(string.IsNullOrEmpty(teacher.EducationGrade) ? "" : teacher.EducationGradeDate.Value.ToString("yyyy-MM"));
|
|
|
|
|
row.Order(29).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.FullTimeSchoolType);
|
|
|
|
|
row.Order(30).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.FullTimeSchool);
|
|
|
|
|
row.Order(31).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.FullTimeSchoolMajor);
|
|
|
|
|
row.Order(32).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.FullTimeSchoolEducation);
|
|
|
|
|
row.Order(33).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.FullTimeSchoolEducationDate.HasValue?teacher.FullTimeSchoolEducationDate.Value.ToString("yyyy-MM") :"");
|
|
|
|
|
row.Order(33).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.FullTimeSchoolEducationDate.HasValue ? teacher.FullTimeSchoolEducationDate.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(34).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.FullTimeSchoolType);
|
|
|
|
|
row.Order(35).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.FullTimeSchool);
|
|
|
|
|
row.Order(36).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.FullTimeSchoolMajor);
|
|
|
|
@ -128,15 +128,15 @@ namespace TeacherExt.Controllers
|
|
|
|
|
row.Order(38).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.FullTimeSchoolEducationDate.HasValue ? teacher.FullTimeSchoolEducationDate.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(39).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MaxEducation);
|
|
|
|
|
row.Order(40).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MaxDegree);
|
|
|
|
|
row.Order(41).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.IsClassTeacher?"是":"否");
|
|
|
|
|
row.Order(41).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.IsClassTeacher ? "是" : "否");
|
|
|
|
|
row.Order(42).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MainTeachPeriod);
|
|
|
|
|
row.Order(43).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MainTeachSubject);
|
|
|
|
|
row.Order(43).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MainTeachSubject);
|
|
|
|
|
row.Order(44).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MainTeachGrade);
|
|
|
|
|
row.Order(45).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.OtherTeachPeriod);
|
|
|
|
|
row.Order(46).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.OtherTeachSubject);
|
|
|
|
|
if(teacher.HasPosition.Value)
|
|
|
|
|
if (teacher.HasPosition.Value)
|
|
|
|
|
{
|
|
|
|
|
if(teacher.IsMiddleLevel.Value)
|
|
|
|
|
if (teacher.IsMiddleLevel.Value)
|
|
|
|
|
{
|
|
|
|
|
row.Order(47).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.Position);
|
|
|
|
|
row.Order(48).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.PositionStart.HasValue ? teacher.PositionStart.Value.ToString("yyyy-MM") : "");
|
|
|
|
@ -171,25 +171,37 @@ namespace TeacherExt.Controllers
|
|
|
|
|
var colWidthList = new System.Collections.Generic.Dictionary<int, int>();
|
|
|
|
|
for (int i = 0; i < rowIndex; i++)
|
|
|
|
|
{
|
|
|
|
|
var row = sheet.GetRow(i + 1);
|
|
|
|
|
var row = sheet.GetRow(i);
|
|
|
|
|
for (int j = 0; j < colIndex; j++)
|
|
|
|
|
{
|
|
|
|
|
var key = j + 1;
|
|
|
|
|
var cell = sheet.GetRow(i).GetCell(key);
|
|
|
|
|
if(!colWidthList.ContainsKey(key))
|
|
|
|
|
var cell = sheet.GetRow(i).GetCell(j);
|
|
|
|
|
if (!colWidthList.ContainsKey(j))
|
|
|
|
|
{
|
|
|
|
|
colWidthList.Add(key, 0);
|
|
|
|
|
colWidthList.Add(j, 0);
|
|
|
|
|
}
|
|
|
|
|
var length = Encoding.UTF8.GetBytes(cell.ToString()).Count() + 1;
|
|
|
|
|
if(length> colWidthList[key])
|
|
|
|
|
var value = cell.ToString();
|
|
|
|
|
var array = value.Split('\n');
|
|
|
|
|
var length = array.Select(o => Encoding.UTF8.GetBytes(o).Count()).Max() + 2;
|
|
|
|
|
if (length > colWidthList[j])
|
|
|
|
|
{
|
|
|
|
|
colWidthList[key] = length;
|
|
|
|
|
if (!cell.IsMergedCell)
|
|
|
|
|
{
|
|
|
|
|
colWidthList[j] = length;
|
|
|
|
|
Console.WriteLine($">>>>>{j}:{length}:{value}");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
foreach (var item in colWidthList.Keys)
|
|
|
|
|
{
|
|
|
|
|
sheet.SetColumnWidth(item,colWidthList[item]*256);
|
|
|
|
|
var width = colWidthList[item] * 256;
|
|
|
|
|
if (width == 0)
|
|
|
|
|
{
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
sheet.SetColumnWidth(item, width);
|
|
|
|
|
Console.WriteLine($"{sheet.GetRow(2).GetCell(item)}:{item}:{colWidthList[item]}");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|