Commit 0e31cc62 by guanzhenshan

增加导入表格解析异常信息提示

parent 2eb10052
...@@ -121,7 +121,8 @@ namespace Bailun.DC.Web.Areas.DataWareHouse.Controllers ...@@ -121,7 +121,8 @@ namespace Bailun.DC.Web.Areas.DataWareHouse.Controllers
var user = HttpContextHelper.Current?.User; var user = HttpContextHelper.Current?.User;
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); var errmsg = "";
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
if (dic.Count > 0) if (dic.Count > 0)
{ {
var tb = dic.FirstOrDefault(); var tb = dic.FirstOrDefault();
......
...@@ -23,7 +23,7 @@ namespace Bailun.DC.Web.Areas.DataWareHouse.Controllers ...@@ -23,7 +23,7 @@ namespace Bailun.DC.Web.Areas.DataWareHouse.Controllers
{ {
var listconfig = new Services.DataWareHouse.PlatformOrderFeeServices().ListOrderFeeConfig(2); var listconfig = new Services.DataWareHouse.PlatformOrderFeeServices().ListOrderFeeConfig(2);
ViewBag.listconfig = listconfig.Select(a=>a.platform).Distinct().ToList(); ViewBag.listconfig = listconfig.Select(a=>a.platform).Distinct().Where(b=>b!= "万邑通" && b!= "易可达" && b!= "艾姆勒IML海外仓" && b!= "递四方" && b!= "顺邮" && b!= "橙联speedPAK" && b!= "伯明翰" && b!= "wish post").ToList();
ViewBag.platform = platform; ViewBag.platform = platform;
ViewBag.sites = listconfig.Where(a=>a.platform==platform).Select(b=>b.website).Distinct().Where(c=>!string.IsNullOrEmpty(c)).ToList(); ViewBag.sites = listconfig.Where(a=>a.platform==platform).Select(b=>b.website).Distinct().Where(c=>!string.IsNullOrEmpty(c)).ToList();
...@@ -109,8 +109,17 @@ namespace Bailun.DC.Web.Areas.DataWareHouse.Controllers ...@@ -109,8 +109,17 @@ namespace Bailun.DC.Web.Areas.DataWareHouse.Controllers
//var user = HttpContextHelper.Current?.User; //var user = HttpContextHelper.Current?.User;
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
var errmsg = "";
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true, ref errmsg);
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); if (!string.IsNullOrEmpty(errmsg))
{
return Json(new
{
success = false,
msg = "识别表格异常,异常信息:"+errmsg,
});
}
if (dic.Count > 0) if (dic.Count > 0)
{ {
......
...@@ -318,8 +318,8 @@ namespace Bailun.DC.Web.Areas.DataWareHouse.Controllers ...@@ -318,8 +318,8 @@ namespace Bailun.DC.Web.Areas.DataWareHouse.Controllers
//var user = HttpContextHelper.Current?.User; //var user = HttpContextHelper.Current?.User;
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
var errmsg = "";
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
if (dic.Count > 0) if (dic.Count > 0)
{ {
var tb = dic.FirstOrDefault(); var tb = dic.FirstOrDefault();
...@@ -397,7 +397,8 @@ namespace Bailun.DC.Web.Areas.DataWareHouse.Controllers ...@@ -397,7 +397,8 @@ namespace Bailun.DC.Web.Areas.DataWareHouse.Controllers
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); var errmsg = "";
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
if (dic.Count > 0) if (dic.Count > 0)
{ {
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
</div> </div>
<div class="form-group"> <div class="form-group">
站点: 站点:
<div data-toggle="buttons-checkbox" class="btn-group"> <div data-toggle="buttons-checkbox" class="btn-group" id="website">
@foreach (var item in ViewBag.sites) @foreach (var item in ViewBag.sites)
{ {
//<option value="@item">@item</option> //<option value="@item">@item</option>
...@@ -223,15 +223,16 @@ ...@@ -223,15 +223,16 @@
$('#sel_platform_contain').css('display', 'inline'); $('#sel_platform_contain').css('display', 'inline');
platform = $('#platform').val(); platform = $('#platform').val();
$('#platform').change(function () { }
platform = $('#platform').val();
initUpload(); $('#platform').change(function () {
platform = $('#platform').val();
initUpload();
//获取平台站点 //获取平台站点
getWebsite(); getWebsite();
}) })
}
list(); list();
...@@ -499,11 +500,12 @@ ...@@ -499,11 +500,12 @@
paramData: '', paramData: '',
type:'POST', type:'POST',
func: function (result) { func: function (result) {
$('#website').html('<option value="">请选择站点</option>'); $('#website').html('');
if (result.success) { if (result.success) {
if (result.data.length > 0) { if (result.data.length > 0) {
for (var i in result.data) { for (var i in result.data) {
$('#website').append('<option value="' + result.data[i] + '">' + result.data[i] + '</option>'); $('#website').append('<button class="btn btn-info wsites" type="button" aria-pressed="false" onclick="selWebsite(\'' + result.data[i] + '\',this)">' + result.data[i]+'</button>');
} }
} }
......
...@@ -4840,8 +4840,10 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -4840,8 +4840,10 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}); });
} }
var errmsg = "";
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
if (dic.Count > 0) if (dic.Count > 0)
{ {
var tb = dic.FirstOrDefault(); var tb = dic.FirstOrDefault();
...@@ -5106,8 +5108,10 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -5106,8 +5108,10 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}); });
} }
var errmsg = "";
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
if (dic.Count > 0) if (dic.Count > 0)
{ {
var tb = dic.FirstOrDefault(); var tb = dic.FirstOrDefault();
...@@ -5480,8 +5484,10 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -5480,8 +5484,10 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}); });
} }
var errmsg = "";
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
if (dic.Count > 0) if (dic.Count > 0)
{ {
var tb = dic.FirstOrDefault(); var tb = dic.FirstOrDefault();
...@@ -8609,8 +8615,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -8609,8 +8615,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}); });
} }
var errmsg = "";
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
if (dic.Count > 0) if (dic.Count > 0)
{ {
var tb = dic.FirstOrDefault(); var tb = dic.FirstOrDefault();
...@@ -8977,8 +8984,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -8977,8 +8984,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}); });
} }
var errmsg = "";
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
if (dic.Count > 0) if (dic.Count > 0)
{ {
var tb = dic.FirstOrDefault(); var tb = dic.FirstOrDefault();
......
...@@ -317,8 +317,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -317,8 +317,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}); });
} }
var errmsg = "";
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
if (dic.Count > 0) if (dic.Count > 0)
{ {
var tb = dic.FirstOrDefault(); var tb = dic.FirstOrDefault();
......
...@@ -3302,8 +3302,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -3302,8 +3302,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}); });
} }
var errmsg = "";
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
if (dic.Count > 0) if (dic.Count > 0)
{ {
var tb = dic.FirstOrDefault(); var tb = dic.FirstOrDefault();
......
...@@ -23,7 +23,7 @@ namespace Bailun.DC.Web.Base ...@@ -23,7 +23,7 @@ namespace Bailun.DC.Web.Base
/// <param name="SheetName">获取某一个工作簿的内容,如果为空的话,则获取所有;如果有多个的话,那么用,分隔</param> /// <param name="SheetName">获取某一个工作簿的内容,如果为空的话,则获取所有;如果有多个的话,那么用,分隔</param>
/// <param name="emptySheet">是否要获取为空的工作簿的内容</param> /// <param name="emptySheet">是否要获取为空的工作簿的内容</param>
/// <returns>返回dicDataTable</returns> /// <returns>返回dicDataTable</returns>
public static Dictionary<string, DataTable> ExcelToDataTable(Stream fs, string fileName, bool isColumnName, List<string> SheetName = null, bool emptySheet = true) public static Dictionary<string, DataTable> ExcelToDataTable(Stream fs, string fileName, bool isColumnName,ref string errmsg, List<string> SheetName = null, bool emptySheet = true)
{ {
Dictionary<string, DataTable> dicDataTable = new Dictionary<string, DataTable>(); Dictionary<string, DataTable> dicDataTable = new Dictionary<string, DataTable>();
DataColumn column = null; DataColumn column = null;
...@@ -35,7 +35,7 @@ namespace Bailun.DC.Web.Base ...@@ -35,7 +35,7 @@ namespace Bailun.DC.Web.Base
int startRow = 0; int startRow = 0;
using (fs) using (fs)
{ {
ExcelToDataTable(fs, fileName, isColumnName, ref dicDataTable, ref column, ref dataRow, ref workbook, ref sheet, ref row, ref cell, ref startRow, SheetName, emptySheet); ExcelToDataTable(fs, fileName, isColumnName, ref dicDataTable, ref column, ref dataRow, ref workbook, ref sheet, ref row, ref cell, ref startRow, SheetName, emptySheet,ref errmsg);
} }
return dicDataTable; return dicDataTable;
} }
...@@ -48,7 +48,7 @@ namespace Bailun.DC.Web.Base ...@@ -48,7 +48,7 @@ namespace Bailun.DC.Web.Base
/// <param name="SheetName">获取某一个工作簿的内容,如果为空的话,则获取所有;如果有多个的话,那么用,分隔</param> /// <param name="SheetName">获取某一个工作簿的内容,如果为空的话,则获取所有;如果有多个的话,那么用,分隔</param>
/// <param name="emptySheet">是否要获取为空的工作簿的内容</param> /// <param name="emptySheet">是否要获取为空的工作簿的内容</param>
/// <returns>返回datatables</returns> /// <returns>返回datatables</returns>
public static Dictionary<string, DataTable> ExcelToDataTable(string filePath, bool isColumnName, List<string> SheetName = null, bool emptySheet = true) public static Dictionary<string, DataTable> ExcelToDataTable(string filePath, bool isColumnName, ref string errmsg, List<string> SheetName = null, bool emptySheet = true)
{ {
Dictionary<string, DataTable> dicDataTable = new Dictionary<string, DataTable>(); Dictionary<string, DataTable> dicDataTable = new Dictionary<string, DataTable>();
FileStream fs = null; FileStream fs = null;
...@@ -62,14 +62,14 @@ namespace Bailun.DC.Web.Base ...@@ -62,14 +62,14 @@ namespace Bailun.DC.Web.Base
using (fs = File.OpenRead(filePath)) using (fs = File.OpenRead(filePath))
{ {
ExcelToDataTable(fs, filePath, isColumnName, ref dicDataTable, ref column, ref dataRow, ref workbook, ref sheet, ref row, ref cell, ref startRow, SheetName, emptySheet); ExcelToDataTable(fs, filePath, isColumnName, ref dicDataTable, ref column, ref dataRow, ref workbook, ref sheet, ref row, ref cell, ref startRow, SheetName, emptySheet,ref errmsg);
} }
return dicDataTable; return dicDataTable;
} }
#endregion #endregion
#region privateExcelToDataTable #region privateExcelToDataTable
private static void ExcelToDataTable(Stream fs, string fileName, bool isColumnName, ref Dictionary<string, DataTable> dicDataTable, ref DataColumn column, ref DataRow dataRow, ref IWorkbook workbook, ref ISheet sheet, ref IRow row, ref ICell cell, ref int startRow, List<string> SheetName, bool emptySheet) private static void ExcelToDataTable(Stream fs, string fileName, bool isColumnName, ref Dictionary<string, DataTable> dicDataTable, ref DataColumn column, ref DataRow dataRow, ref IWorkbook workbook, ref ISheet sheet, ref IRow row, ref ICell cell, ref int startRow, List<string> SheetName, bool emptySheet,ref string errmsg)
{ {
try try
{ {
...@@ -174,6 +174,7 @@ namespace Bailun.DC.Web.Base ...@@ -174,6 +174,7 @@ namespace Bailun.DC.Web.Base
} }
catch (Exception ex) catch (Exception ex)
{ {
errmsg = ex.Message;
if (fs != null) if (fs != null)
{ {
fs.Close(); fs.Close();
......
...@@ -301,8 +301,8 @@ namespace Bailun.DC.Web.Controllers ...@@ -301,8 +301,8 @@ namespace Bailun.DC.Web.Controllers
//var user = HttpContextHelper.Current?.User; //var user = HttpContextHelper.Current?.User;
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
var errmsg = "";
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
var platform = ""; var platform = "";
var website = ""; var website = "";
...@@ -439,8 +439,8 @@ namespace Bailun.DC.Web.Controllers ...@@ -439,8 +439,8 @@ namespace Bailun.DC.Web.Controllers
//var user = HttpContextHelper.Current?.User; //var user = HttpContextHelper.Current?.User;
var file = Request.Form.Files[0]; var file = Request.Form.Files[0];
var errmsg = "";
Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true); Dictionary<string, DataTable> dic = Base.NpolHelper.ExcelToDataTable(file.OpenReadStream(), file.FileName, true,ref errmsg);
if (dic.Count > 0) if (dic.Count > 0)
{ {
......
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