读取Excel改同步

parent 4efb4431
...@@ -75,13 +75,13 @@ private PerExcel Import(per_allot allot) ...@@ -75,13 +75,13 @@ private PerExcel Import(per_allot allot)
Version = FileHelper.GetExtension(path) == ".xlsx" ? ExcelVersion.xlsx : ExcelVersion.xls, Version = FileHelper.GetExtension(path) == ".xlsx" ? ExcelVersion.xlsx : ExcelVersion.xls,
PerSheet = new List<PerSheet>() PerSheet = new List<PerSheet>()
}; };
_logManageService.WriteMsg("读取文件", $"文件读取中...当前操作需要一点时间,请耐心等待", 1, allot.ID, "ReceiveMessage", true);
using (FileStream fs = new FileStream(path, FileMode.Open)) using (FileStream fs = new FileStream(path, FileMode.Open))
{ {
IWorkbook workbook = (excel.Version == ExcelVersion.xlsx) IWorkbook workbook = (excel.Version == ExcelVersion.xlsx) ? new XSSFWorkbook(fs) : new HSSFWorkbook(fs);
? (IWorkbook)(new XSSFWorkbook(fs))
: (IWorkbook)(new HSSFWorkbook(fs));
bool isnew = false; bool isnew = false;
var tasks = new List<Task>();
for (int i = 0; i < workbook.NumberOfSheets; i++) for (int i = 0; i < workbook.NumberOfSheets; i++)
{ {
var sheet = workbook.GetSheetAt(i); var sheet = workbook.GetSheetAt(i);
...@@ -89,30 +89,28 @@ private PerExcel Import(per_allot allot) ...@@ -89,30 +89,28 @@ private PerExcel Import(per_allot allot)
if (SheetType.Unidentifiable != sheetType) if (SheetType.Unidentifiable != sheetType)
_logManageService.WriteMsg("准备读取文件", $"正在准备读取“{sheet.SheetName}”", 1, allot.ID, "ReceiveMessage", true); _logManageService.WriteMsg("准备读取文件", $"正在准备读取“{sheet.SheetName}”", 1, allot.ID, "ReceiveMessage", true);
//else //else
//_logManageService.WriteMsg("准备读取文件", $"忽略文件“{sheet.SheetName}”", 1, allot.ID, "ReceiveMessage", true); //_logManageService.WriteMsg("准备读取文件", $"忽略文件“{sheet.SheetName}”", 1, allot.ID, "ReceiveMessage", true);
try try
{ {
tasks.Add(Task.Factory.StartNew(() => // 保留临床科室测算表全部结构,用作展示,不做其他用途
if (sheetType == SheetType.AccountBasic)
{
var st = _perSheetService.SheetAccountBasicSpecial(sheet, isnew);
excel.PerSheet.Add(st);
}
if (SheetType.Unidentifiable != sheetType)
{ {
// 保留临床科室测算表全部结构,用作展示,不做其他用途 var st = _perSheetService.Sheet(sheet, isnew);
if (sheetType == SheetType.AccountBasic) excel.PerSheet.Add(st);
{
var st = _perSheetService.SheetAccountBasicSpecial(sheet, isnew); }
excel.PerSheet.Add(st); else
} {
if (SheetType.Unidentifiable != sheetType) if (sheet.SheetName.Contains("开单医院"))
{ isnew = true;
var st = _perSheetService.Sheet(sheet, isnew); }
excel.PerSheet.Add(st);
}
else
{
if (sheet.SheetName.Contains("开单医院"))
isnew = true;
}
}));
} }
catch (Exception ex) catch (Exception ex)
{ {
...@@ -121,9 +119,6 @@ private PerExcel Import(per_allot allot) ...@@ -121,9 +119,6 @@ private PerExcel Import(per_allot allot)
} }
} }
_logManageService.WriteMsg("读取文件", $"文件读取中...当前操作需要一点时间,请耐心等待", 1, allot.ID, "ReceiveMessage", true);
Task.WaitAll(tasks.ToArray());
_logManageService.WriteMsg("读取文件", $"EXCEL文件基础数据读取完成!", 1, allot.ID, "ReceiveMessage", true); _logManageService.WriteMsg("读取文件", $"EXCEL文件基础数据读取完成!", 1, allot.ID, "ReceiveMessage", true);
return excel; return excel;
......
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