1

我正在将一个 excelsheet 导入到 sql server 数据库中,在 excel 中有一个名为 FlightNumber 的列,格式为 AI-2000、AI-2564 等航班号(通过删除前 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 与列映射一起导入

4

1 回答 1

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");

这里的第三个参数是DataColumn.Expression根据您现有的列值指定默认值,了解更多关于这次访问here

于 2012-11-12T06:56:10.810 回答