2017-10-11 159 views
0

我想知道如何从excel文件中获取列名并在组合框内写入名称。如何在excel文件中找到列的名称

This is the excel print and the names I want are in red

这是我使用打开Excel文件中的代码:

using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "Excel Workbook|*.xls", ValidateNames = true }) 
{ 
    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; 
    } 
} 
+0

[数据集列名和行值](https://stackoverflow.com/questions/42337983/dataset-column-name-and-row-value)的可能重复 – BugFinder

回答

0

1)包括

HDR=YES 

在您的查询字符串

如果1)将行不通 请尝试以下 2)包括的范围

var sql = "SELECT * FROM [" + SHEET + "$" + Range + "]; 

其中的格式各异,X1的目标范围:X2等

相关问题