我正在将一个excelsheet导入sql server数据库,excel中有一个名为FlightNumber的列,其格式为AI-2000,AI-2564等。我在数据库中有FlightNumber列但是还有另一个名为FlightId的列应该有值从excel的flightnumber派生(通过删除前3个字符)例如: 如果excel有FlightNumber:AI-2032,db中的FlightId值应该是2032.我该怎么做?我是初学者,所以你可能需要解释一些代码。
这就是我读excel的方式:
DataTable dt7 = new DataTable();
dt7.Load(dr);
DataRow[] ExcelRows = new DataRow[dt7.Rows.Count];
DataColumn[] ExcelColumn = new DataColumn[dt7.Columns.Count];
DataRow[] ExcelRows = new DataRow[dt7.Rows.Count];
//=================================================
for (int i1 = 0; i1 < dt7.Rows.Count; i1++)
{
if (dt7.Rows[i1]["PP NO"] == null)
dt7.Rows[i1]["PP NO"] = 0;
}
我也在使用SqlBulkCopy与列映射一起导入
答案 0 :(得分:0)
试试这个
DataTable dtone = new DataTable();
dtone.Columns.Add("idNumber");
dtone.Columns.Add("idOnly", typeof(string), " substring(idNumber, 4, 100)");
dtone.Rows.Add("AI-2000");
dtone.Rows.Add("AE-2001");
dtone.Rows.Add("AF-2002");
dtone.Rows.Add("AH-2003");
此处第3个参数是DataColumn.Expression
,它根据您已存在的列值指定默认值,以了解有关此visit here的更多信息