public static int BulkInsert(DataTable table) { int insertCount = 0; try { if (string.IsNullOrEmpty(table.TableName)) throw new Exception("请给DataTable的TableName属性附上表名称"); if (table.Rows.Count == 0) return 0; string tmpPath = Directory.GetCurrentDirectory() + "\\UpTemp"; if (!Directory.Exists(tmpPath)) Directory.CreateDirectory(tmpPath); tmpPath = Path.Combine(tmpPath, "Temp.csv");//csv文件临时目录 string csv = SystemExtensions.DataTableToCsv(table); File.WriteAllText(tmpPath, csv); var columns = table.Columns.Cast<DataColumn>().Select(_columns => _columns.ColumnName).ToList(); using (MySqlConnection conn = new MySqlConnection(connection)) { try { MySqlBulkLoader bulk = new MySqlBulkLoader(conn) { FieldTerminator = ",", FieldQuotationCharacter = '"', EscapeCharacter = '"', LineTerminator = "\r\n", FileName = tmpPath, NumberOfLinesToSkip = 0, TableName = table.TableName, }; bulk.Columns.AddRange(columns);//根据标题列对应插入 insertCount = bulk.Load(); } catch (MySqlException ex) { throw ex; } } File.Delete(tmpPath); } catch (Exception ex) { throw ex; } return insertCount; }