gpt4 book ai didi

c# - 将字符串数组值插入 DataGridView C#

转载 作者:行者123 更新时间:2023-11-30 20:55:20 27 4
gpt4 key购买 nike

我正在用 C# 开发一个 windows 窗体应用程序。我的程序将从 excel 单元格中读取值并将数据插入 DataGridView 以显示用户。

读取 excel 文件后,我得到了字符串数组中的结果。如何插入 DataGridView?

private void btnImport_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application ExcelObj = null;
ExcelObj = new Microsoft.Office.Interop.Excel.Application();

if (ExcelObj != null)
{
if (tbxFileDirectory.Text != "")
{
Workbook workbook = ExcelObj.Workbooks.Open(
openFD.FileName, 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true);

Sheets sheets = workbook.Worksheets;

//Get excel sheet number
Worksheet worksheet = (Worksheet)sheets.get_Item(1);

for (int i = 6; i <= worksheet.UsedRange.Rows.Count; i++)
{
Range range = worksheet.get_Range("A" + i.ToString(), "K" + i.ToString());

Array myvalues = (Array)range.Cells.Value;

string[] strArray = ConvertToStringArray(myvalues);

//INSERT INTO DATAGRIDVIEW
}
MessageBox.Show("File was imported successfully");
}
else
{
MessageBox.Show("Please select the file to import.");
}
}
else
{
MessageBox.Show("ERROR: EXCEL couldn't be started!");
}
}

我的 DataGrid 有 4 列,ProductID、ProductName、Price 和 Qty。我想在每一列中插入这些值,strArray[0]、strArray[1]、strArray[9] 和 strArray[10]。我怎样才能做到这一点?任何帮助将不胜感激!

最佳答案

DataGridView 在直接插入字符串时存在性能问题,如果您只有网格本身中的数据(尽管显然您必须使用从 excel 解析的数据),则操作数据很尴尬。通常最好将数据放入 DataTable,然后将其绑定(bind)到网格。

参见 Add new column and data to datatable that already contains data - c#如果您需要一个通过代码将数据填充到 DataTable 的示例。

绑定(bind)很简单,将 DataTable 分配给网格的 DataSource 属性。

如果您获得的行数超过几百行,您可能仍然会遇到性能问题——但是,通过更改逻辑以虚拟化数据,请参见 DataGridView live display of datatable using virtual mode举一个简单的例子。

关于c# - 将字符串数组值插入 DataGridView C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18375314/

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