我需要用ASP.NET/C以编程方式读取Excel工作表,并将获得的数据写入MySQL表。Excel工作表包含大约50列和2000条记录。我可以从Excel工作表中读取数据并将其存储在数据集中。我使用以下代码将数据写入MySQL表。
for (int i = 1; i <= myDataSet1.Tables[0].Rows.Count - 1; i++)
{
MySqlCommand cmd = new MySqlCommand();
for (int j = 0; j <= myDataSet1.Tables[0].Columns.Count - 1; j++)
{
paramset[j] = myDataSet1.Tables[0].Rows[i][j].ToString();
cmd.Parameters.AddWithValue("val" + j, paramset[j]);
}
cmd.CommandText = "Insert into faqimport values(val0,val1,val2,val3,val4,val5,val6,val7,val8,val9,val10,val11,val12,val13,val14,val15,val16,val17,val18,val19,val20,val21,val22,val23,val24,val25,val26,val27,val28,val29,val30,val31,val32,val33,val34,val35,val36,val37,val38,val39,val40,val41,val42)";
cmd.Connection=con;
cmd.CommandType = CommandType.Text;
int x=cmd.ExecuteNonQuery;
}
当我试图运行上面的代码时,我得到
“字段列表”中的“未知列”val0
错误。我了解我正在手动创建参数val0、val1、val2…..而不是使用整数“j”动态创建它们。但我不想创建大约50个参数来将数据插入数据库表。
有人能告诉我这附近有没有路吗?
还有一种方法可以从Excel工作表中获取列数据类型,以便在MySQL中创建一个包含Excel工作表中列的新表吗?