Commit 9b5db502 by lcx

添加数据样式

parent 2eaef9e0
...@@ -99,46 +99,47 @@ public static void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType s ...@@ -99,46 +99,47 @@ public static void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType s
private static void WriteSheetDataExistent(ISheet sheet, IRow columnHeader, PerSheetPoint point, SheetType sheetType, ExcelStyle style, private static void WriteSheetDataExistent(ISheet sheet, IRow columnHeader, PerSheetPoint point, SheetType sheetType, ExcelStyle style,
List<string> headers, List<ExtractTransDto> data, ref int dataFirstRowNum) List<string> headers, List<ExtractTransDto> data, ref int dataFirstRowNum)
{ {
if (sheet.LastRowNum > dataFirstRowNum) if (sheet.LastRowNum <= dataFirstRowNum) return;
{
int dataFirstCellNum = point.DataFirstCellNum.Value;
for (int rowIndex = dataFirstRowNum; rowIndex < sheet.LastRowNum + 1; rowIndex++) var cellStyle = style.SetBgkColorAndFormat(style.GetCellStyle(), StyleType.数据);
{
var row = sheet.GetRow(rowIndex);
if (row == null) continue;
string department = row.GetOrCreate(dataFirstCellNum - 1).GetDecodeEscapes(); int dataFirstCellNum = point.DataFirstCellNum.Value;
if (string.IsNullOrEmpty(department)) continue;
var deptData = data.Where(t => t.Department == department); for (int rowIndex = dataFirstRowNum; rowIndex < sheet.LastRowNum + 1; rowIndex++)
if (deptData == null || !deptData.Any()) continue; {
var row = sheet.GetRow(rowIndex);
if (row == null) continue;
for (int cellIndex = dataFirstCellNum; cellIndex < columnHeader.LastCellNum; cellIndex++) string department = row.GetOrCreate(dataFirstCellNum - 1).GetDecodeEscapes();
{ if (string.IsNullOrEmpty(department)) continue;
var column = columnHeader.GetOrCreate(cellIndex).GetDecodeEscapes();
var cell = row.GetOrCreate(cellIndex);
var value = deptData.FirstOrDefault(t => t.Category == column)?.Value; var deptData = data.Where(t => t.Department == department);
if (deptData == null || !deptData.Any()) continue;
if (sheetType == SheetType.Income) for (int cellIndex = dataFirstCellNum; cellIndex < columnHeader.LastCellNum; cellIndex++)
{ {
cell.SetCellOValue(value); var column = columnHeader.GetOrCreate(cellIndex).GetDecodeEscapes();
// 添加 style var cell = row.GetOrCreate(cellIndex);
}
else if (cell.CellType != CellType.Formula) var value = deptData.FirstOrDefault(t => t.Category == column)?.Value;
if (sheetType == SheetType.Income)
{
cell.SetCellOValue(value);
cell.CellStyle = cellStyle;
}
else if (cell.CellType != CellType.Formula)
{
cell.SetCellOValue(value);
if (headers != null && headers.Contains(column))
{ {
cell.SetCellOValue(value); cell.CellStyle = cellStyle;
if (headers != null && headers.Contains(column))
{
// 是新增项,且该抽取数据在新增项中 添加style
}
} }
} }
data.RemoveAll(t => t.Department == department);
if (rowIndex > dataFirstRowNum) dataFirstRowNum = rowIndex + 1;
} }
data.RemoveAll(t => t.Department == department);
if (rowIndex > dataFirstRowNum) dataFirstRowNum = rowIndex + 1;
} }
} }
...@@ -153,6 +154,9 @@ public static void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType s ...@@ -153,6 +154,9 @@ public static void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType s
filed = sheet.SheetName.Contains("医生") ? fieldDoctor : fieldNurse; filed = sheet.SheetName.Contains("医生") ? fieldDoctor : fieldNurse;
} }
var deptStyle = style.GetCellStyle();
var cellStyle = style.SetBgkColorAndFormat(style.GetCellStyle(), StyleType.数据);
foreach (string department in departments) foreach (string department in departments)
{ {
var deptData = data.Where(t => t.Department == department); var deptData = data.Where(t => t.Department == department);
...@@ -167,11 +171,13 @@ public static void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType s ...@@ -167,11 +171,13 @@ public static void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType s
if (filed.ContainsKey(column)) if (filed.ContainsKey(column))
{ {
cell.SetCellOValue(filed[column]?.Invoke(deptData.First())); cell.SetCellOValue(filed[column]?.Invoke(deptData.First()));
cell.CellStyle = deptStyle;
} }
else if (sheetType == SheetType.Income || (headers != null && headers.Contains(column))) else if (sheetType == SheetType.Income || (headers != null && headers.Contains(column)))
{ {
var value = deptData.FirstOrDefault(t => t.Category == column)?.Value; var value = deptData.FirstOrDefault(t => t.Category == column)?.Value;
cell.SetCellOValue(value); cell.SetCellOValue(value);
cell.CellStyle = cellStyle;
} }
} }
dataFirstRowNum++; dataFirstRowNum++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment