首页 新闻 会员 周边

怎么使用winform下拉框绑定excel里面的列

0
悬赏园豆:100 [已解决问题] 解决于 2021-07-09 09:12

使用winform的下拉框绑定到excel的列,下拉框显示每一列的第一行,不用连数据库

酒叟的主页 酒叟 | 初学一级 | 园豆:46
提问于:2021-07-06 09:52
< >
分享
最佳答案
0

读取Excel可以用Free Spire.XLS,中文教程很多

NuGet安装Free Spire.XLS,添加命名空间:
using Spire.Xls;
using System;

然后使用下面代码获取第一行的所有数据:

 //加载Excel
            Workbook workbook = new Workbook();
            workbook.LoadFromFile("sample.xlsx");
            //获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            //获取最大列数
            int maxcolumn = sheet.LastColumn;

            for (int col = 1; col <= maxcolumn; col++)
            {
                //获取第一行的所有数据
                string text = sheet.Range[1, col].Value;
            }
收获园豆:100
ms_doudou | 小虾三级 |园豆:1166 | 2021-07-07 09:33
其他回答(4)
0

using System;
using System.Collections.Generic;
using System.Threading;
using System.Windows.Forms;
using System.Drawing;
using System.IO;
using System.Linq;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//注意修改下面路径为存储Excel的目录,如果和exe在同一个目录下用 Path.Combine(Application.StartupPath, "excelfolder");
var data = Directory.GetFiles(@"D:\文件\C#\windowform\WindowsFormsApp1\bin\Debug").Select(i => new { value = i, text = Path.GetFileName(i) }).ToList();
comboBox1.DisplayMember = "text";
comboBox1.ValueMember = "value";
comboBox1.DataSource = data;
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
var filePath = comboBox1.SelectedValue.ToString();
MessageBox.Show(filePath);//这里改为读取filePath指定的Excel填充数据的代码
}
}
}

| 园豆:453 (菜鸟二级) | 2021-07-06 11:22

大佬好像不太好使啊

支持(0) 反对(0) 酒叟 | 园豆:46 (初学一级) | 2021-07-06 13:56
0

等于是第一行是列头,下拉框显示列头的名字?

顾晓北 | 园豆:10844 (专家六级) | 2021-07-06 13:41

支持(0) 反对(0) 酒叟 | 园豆:46 (初学一级) | 2021-07-06 13:42

@酒叟: 那你想办法读出excel的数据呗?是不会读数据还是不会绑定?

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2021-07-06 14:23

@顾晓北: 之前一直用的数据库绑定直接绑定excel我是两个都不会啊

支持(0) 反对(0) 酒叟 | 园豆:46 (初学一级) | 2021-07-06 14:27

@顾晓北: 大佬可以给个damo吗,我研究一下

支持(0) 反对(0) 酒叟 | 园豆:46 (初学一级) | 2021-07-06 14:28

@酒叟: 没时间写。。。

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2021-07-06 14:40

@顾晓北: 好吧麻烦了

支持(0) 反对(0) 酒叟 | 园豆:46 (初学一级) | 2021-07-06 14:41
0

读excel可以使用nopi库,nuget上有,使用很简单。
至于将下拉框列表项绑定为excel的标题,在直接读取excel后,取值添加就行了。

leslie_xin | 园豆:404 (菜鸟二级) | 2021-07-07 08:38
0

在不连接数据库的情况下,如果数据项不需要经常维护,建议写死。例如,性别:男/女 这种下拉框。

chengeng | 园豆:294 (菜鸟二级) | 2021-07-07 13:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册