将整数插入Excel工作表

时间:2019-03-27 12:22:17

标签: c# excel oledb

使用oledb将数据插入到Excel工作表中,整数仅显示为整数:

enter image description here

我已经尝试更改以下连接字符串的属性:

string szConnectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + myFilePath + "';Extended Properties=\"Excel 12.0;HDR=YES;Readonly=False;\"";

此外,我还尝试创建一个具有数据类型的新工作表/表格:

cmd.CommandText = "CREATE TABLE [data3] (quarter VARCHAR, value INT);";

按照我当前的代码插入数据:

cmd.CommandText = "CREATE TABLE [data3] (quarter VARCHAR, value INT);";
cmd.ExecuteNonQuery();

cmd.CommandText = "INSERT INTO [data3$]([quarter ],[value]) VALUES(?,?)";
cmd.Parameters.AddWithValue("@p1", "2018.06");
cmd.Parameters.AddWithValue("@p2", 13); // <-- INT
cmd.ExecuteNonQuery();

我希望数据可以正确插入到excel中,也就是说格式正确。

1 个答案:

答案 0 :(得分:2)

我运行了这段代码,将其更改为以下代码后没有任何问题:

cmd.CommandText = "CREATE TABLE [data3] (quarter VARCHAR, value INT);";
cmd.ExecuteNonQuery();

cmd.CommandText = "INSERT INTO [data3$]([quarter],[value]) VALUES(@Q1,@V1)";
cmd.Parameters.AddWithValue("@Q1", "2018.06");
cmd.Parameters.Add("@V1", SqlDbType.Int);
cmd.Parameters["@V1"].Value = 13;
cmd.ExecuteNonQuery();

我进行了一些更改,并将value参数强制为整数。