gpt4 book ai didi

c# - 将数据从 Excel 传输到 dataGridView

转载 作者:太空宇宙 更新时间:2023-11-03 16:39:04 24 4
gpt4 key购买 nike

当我想在 C# 中将数据从 Excel 传输到 dataGridView 时遇到问题。

我的 Excel 列有数字和字母数字值。但例如,如果该列有 3 个数字和 2 个字母数字值,则只有数字显示在 dataGridView 中,反之亦然。为什么没有显示所有值?接下来是发生的事情:

Excel's Column:                   DataGridView's Column:
45654 45654
P745K
31233 31233
23111 23111
45X2Y

这是我加载 dataGridView 的代码:

string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.xls;Extended Properties=""Excel 8.0;HDR=YES;""";

DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");

DbDataAdapter adapter = factory.CreateDataAdapter();

DbCommand selectCommand = factory.CreateCommand();
selectCommand.CommandText = "SELECT * FROM [sheet1$]";

DbConnection connection = factory.CreateConnection();
connection.ConnectionString = connectionString;

selectCommand.Connection = connection;

adapter.SelectCommand = selectCommand;

data = new DataSet();

adapter.Fill(data);

dataGridView1.DataSource = data.Tables[0].DefaultView;

最佳答案

您可以像 ↓ 一样将“IMEX=1”添加到您的连接字符串中

string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.xls;Extended Properties=""Excel 8.0;HDR=YES;IMEX=1""";

它会强制读取所有值作为字符串。

关于c# - 将数据从 Excel 传输到 dataGridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8206418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com