|
@@ -3710,24 +3710,26 @@ FROM
|
|
|
if (!System.IO.File.Exists(filePath)) return Ok(JsonView(false, "文件不存在!"));
|
|
|
|
|
|
//读取ExcelFile
|
|
|
- DataTable dt = ExcelToDataTable(filePath);
|
|
|
+ DataTable dt = ConvertExcelToDataTable(filePath);
|
|
|
if (dt == null) return Ok(JsonView(false, $"您上传的Excel工作表没有内容,请检查!!!"));
|
|
|
dt.TableName = "TB";
|
|
|
|
|
|
//修改table列名
|
|
|
- dt.Columns[0].ColumnName = "OTAOrderNo"; // OTA订单号
|
|
|
- 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"; // OA金额
|
|
|
+ dt.Columns[0].ColumnName = "OrderNo"; // 订单号
|
|
|
+ dt.Columns[1].ColumnName = "OTAOrderNo"; // OTA订单号
|
|
|
+ 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"; // OA金额
|
|
|
|
|
|
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 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 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
|