|
@@ -3710,24 +3710,26 @@ FROM
|
|
|
if (!System.IO.File.Exists(filePath)) return Ok(JsonView(false, "文件不存在!"));
|
|
|
|
|
|
|
|
|
- DataTable dt = ExcelToDataTable(filePath);
|
|
|
+ DataTable dt = ConvertExcelToDataTable(filePath);
|
|
|
if (dt == null) return Ok(JsonView(false, $"您上传的Excel工作表没有内容,请检查!!!"));
|
|
|
dt.TableName = "TB";
|
|
|
|
|
|
|
|
|
- dt.Columns[0].ColumnName = "OTAOrderNo";
|
|
|
- dt.Columns[1].ColumnName = "PackageName";
|
|
|
- dt.Columns[2].ColumnName = "IsPay";
|
|
|
- dt.Columns[3].ColumnName = "IsShipments";
|
|
|
- dt.Columns[4].ColumnName = "IsSendBack";
|
|
|
- dt.Columns[5].ColumnName = "OrderTime";
|
|
|
- dt.Columns[6].ColumnName = "UseTime";
|
|
|
- dt.Columns[7].ColumnName = "Quantity";
|
|
|
- dt.Columns[8].ColumnName = "Days";
|
|
|
- dt.Columns[9].ColumnName = "QuantityShipped";
|
|
|
- dt.Columns[9].ColumnName = "TotalPrice";
|
|
|
- dt.Columns[9].ColumnName = "GroupName";
|
|
|
- dt.Columns[9].ColumnName = "OATotalPrice";
|
|
|
+ dt.Columns[0].ColumnName = "OrderNo";
|
|
|
+ dt.Columns[1].ColumnName = "OTAOrderNo";
|
|
|
+ dt.Columns[2].ColumnName = "PackageName";
|
|
|
+ dt.Columns[3].ColumnName = "IsPay";
|
|
|
+ dt.Columns[4].ColumnName = "IsShipments";
|
|
|
+ dt.Columns[5].ColumnName = "IsSendBack";
|
|
|
+ dt.Columns[6].ColumnName = "OpUser";
|
|
|
+ dt.Columns[7].ColumnName = "OrderTime";
|
|
|
+ dt.Columns[8].ColumnName = "UseTime";
|
|
|
+ dt.Columns[9].ColumnName = "Quantity";
|
|
|
+ dt.Columns[10].ColumnName = "Days";
|
|
|
+ dt.Columns[11].ColumnName = "QuantityShipped";
|
|
|
+ dt.Columns[12].ColumnName = "TotalPrice";
|
|
|
+ dt.Columns[13].ColumnName = "GroupName";
|
|
|
+ dt.Columns[14].ColumnName = "OATotalPrice";
|
|
|
|
|
|
var otaOrderNos = new List<string>();
|
|
|
foreach (DataRow item in dt.Rows)
|
|
@@ -3750,7 +3752,7 @@ FROM
|
|
|
foreach (DataRow item in dt.Rows)
|
|
|
{
|
|
|
var otaOrderNo = item["OTAOrderNo"].ToString();
|
|
|
- var oaData = oaDatas.Find(x => x.OTAOrderNo.Contains(otaOrderNo));
|
|
|
+ var oaData = oaDatas.Find(x => !string.IsNullOrEmpty(x.OTAOrderNo) && x.OTAOrderNo.Contains(otaOrderNo));
|
|
|
if (oaData == null) continue;
|
|
|
|
|
|
item["GroupName"] = oaData.TeamName;
|
|
@@ -3761,44 +3763,26 @@ FROM
|
|
|
Dictionary<string, object> pairs = new Dictionary<string, object>();
|
|
|
List<DataTable> datas = new List<DataTable>();
|
|
|
datas.Add(dt);
|
|
|
- url = AsposeHelper.ExpertExcelToModel("信用卡对账模板-美元卡.xls", $"CreditCardBill", fileName1, pairs, datas);
|
|
|
+ url = AsposeHelper.ExpertExcelToModel("WIFI费用清单-模板.xlsx", $"GrpFile/团组增减款项相关文件/团组其他款项(OTA)", fileName1, pairs, datas);
|
|
|
|
|
|
|
|
|
- return Ok(JsonView(true));
|
|
|
+ return Ok(JsonView(true, "操作成功", new { url = url }));
|
|
|
}
|
|
|
|
|
|
#region
|
|
|
- private DataTable ExcelToDataTable(string filePath)
|
|
|
+ private DataTable ConvertExcelToDataTable(string excelFilePath)
|
|
|
{
|
|
|
- DataTable dataTable = new DataTable();
|
|
|
- using (var package = new ExcelPackage(new FileInfo(filePath)))
|
|
|
- {
|
|
|
- ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
|
|
- ExcelWorksheet worksheet = package.Workbook.Worksheets.First();
|
|
|
- int rowCount = worksheet.Dimension.Rows;
|
|
|
- int colCount = worksheet.Dimension.Columns;
|
|
|
+
|
|
|
+ Workbook workbook = new Workbook(excelFilePath);
|
|
|
|
|
|
-
|
|
|
- for (int col = 1; col <= colCount; col++)
|
|
|
- {
|
|
|
- dataTable.Columns.Add(worksheet.Cells[1, col].Value.ToString());
|
|
|
- }
|
|
|
+
|
|
|
+ Worksheet worksheet = workbook.Worksheets[0];
|
|
|
+
|
|
|
+
|
|
|
+ DataTable dataTable = worksheet.Cells.ExportDataTable(1, 0, worksheet.Cells.MaxDataRow + 1, worksheet.Cells.MaxDataColumn + 1);
|
|
|
|
|
|
-
|
|
|
- for (int row = 2; row <= rowCount; row++)
|
|
|
- {
|
|
|
- DataRow dataRow = dataTable.NewRow();
|
|
|
- for (int col = 1; col <= colCount; col++)
|
|
|
- {
|
|
|
- dataRow[col - 1] = worksheet.Cells[row, col].Value;
|
|
|
- }
|
|
|
- dataTable.Rows.Add(dataRow);
|
|
|
- }
|
|
|
- }
|
|
|
return dataTable;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|