Example #1
0
 public IActionResult ImPortDriverAsync()
 {
     try
     {
         //定义键值对
         Dictionary <int, object> pairs = new Dictionary <int, object>();
         //定义Workbooks
         Workbook workbooks = new Workbook();
         //读取文件
         workbooks.LoadFromFile(filePath);
         int place      = 1;
         int sheetCount = workbooks.Worksheets.Count;
         //循环工作薄
         for (int i = 1; i < sheetCount; i++)
         {
             Worksheet worksheets = workbooks.Worksheets[i];
             CellRange ranges     = worksheets.Range[$"Item{i}"];
             CellRange range      = worksheets.Range[$"TailTitle{i}"];
             for (int j = ranges.First().Row; j < range.First().Row; j++)
             {
                 ranges[j, ranges.First().Column].CollapseGroup(GroupByType.ByRows);
                 if (ranges[j, ranges.First().Column].Text == null)
                 {
                     continue;
                 }
                 pairs.Add(place, ranges[j, ranges.First().Column].Text);
                 place++;
             }
         }
         int           result        = 0;
         StringBuilder stringBuilder = new StringBuilder();
         //拼接
         stringBuilder.Append("insert into DriverInfo(DriverName) values ");
         using (IDbConnection connection = new SqlConnection {
             ConnectionString = connectionString
         })
         {
             foreach (var item in pairs)
             {
                 stringBuilder.Append($"('{item.Value}'),");
             }
             string sql = stringBuilder.ToString().Substring(0, stringBuilder.Length - 1);
             result = connection.Execute(sql);
         }
         if (result > 0)
         {
             return(Ok(1));
         }
         return(Ok("导入失败"));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }