如何使用c#绘制一个excel文件的映射

我想以某种方式做一个Excel文件的映射,但与列。 至于例如我有一个exel文件,第二列(的Excel文件)必须被引用有1列的SQL数据库。

这是我正在使用的Form在这里输入图像描述

我已经完成了SQLsearch,我只是想知道如何可以在combobox中的excel文件列的名称。

这是我用来searchExcel文件的代码:

  using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "Excel Workbook|*.xls", ValidateNames = true }) { DataSet result; if (ofd.ShowDialog() == DialogResult.OK) { FileStream fs = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read); IExcelDataReader reader = ExcelReaderFactory.CreateBinaryReader(fs); reader.IsFirstRowAsColumnNames = true; result = reader.AsDataSet(); comboBox1.Items.Clear(); foreach (DataTable dt in result.Tables) comboBox1.Items.Add(dt.TableName); reader.Close(); string ConecçãoDB = ConfigurationManager.ConnectionStrings["ConecçaoDB"].ConnectionString; string Table = ConfigurationManager.AppSettings["table"]; string ssqltable = Table; string ssqlconnectionstring = ConecçãoDB; filename = ofd.FileName; MessageBox.Show(Convert.ToString(filename)); var connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";Extended Properties=\"Excel 12.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\""; var conexao = new System.Data.OleDb.OleDbConnection(connectionString); var sql = "SELECT * FROM [" + comboBox1.SelectedText + "$]"; string sclearsql = "delete from " + ssqltable; } } 

根据你最新的评论更新我的答案,因为我误解了你的需要。

您需要访问Excel对象模型,然后您将完全轻松地控制Excel数据。

为了一个坚实而简单的答案,请参阅:

Microsoft Interop:Excel列名称

使用build议的代码时,请确保将以下参考添加到您的代码中:

 using Microsoft.Office.Interop.Excel; 

请记住提供的答案将列名放在一个通用的string列表中。

之后,你必须将其绑定到combobox:

 BindingSource bs = new BindingSource(); bs.DataSource=columnNames ; comboBox1.DataSource = bs;