在C#中找不到列0? [英] Cannot find column 0 in C#?

查看:725
本文介绍了在C#中找不到列0?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

dtTable.Column [0] .ColumnName = STUDENTS_INFORMATION.ID.ToString(); //此错误是:
找不到列0.



Excel文件:

dtTable.Column[0].ColumnName=STUDENTS_INFORMATION.ID.ToString(); //This error is:
Cannot find column 0.



Excel file:

ID   NAME    CLASS

  86    Kelvin    4  

  59    Johny     7




数据库表:STUDENTS_INFORMATION





DATABASE TABLE: STUDENTS_INFORMATION


ID NAME CLASS



我正在尝试读取Excel值.
我在foreach条件下读取了值,但是我无法写数据表.所以在这里我得到了错误.
找不到列0.

我尝试过的事情:



I''m trying to read Excel values.
I read the values in foreach condition, but I can''t write datatable.And so here I get the error.
Cannot find column 0.

What I have tried:

Excel.Application app=new Excel.Application();
    Excel.Workbook workbook=app.workbooks.Open(fileName,Type.Missing,Type.Missing);
    Excel.Worksheet sheet=workbook.Sheets[1];
    Excel.Range range=sheet.UsedRange;

    OleDbConnnection sqlcon=new OleDbConnection(excelstring.Connectionstring);
    sqlcon.Open();
    DataTable dtQueryTable=new DataTable();
    System.Data.OleDb.OleDbDataAdapter dataAdapter;
    dataAdapter=new System.Data.OleDb.OleDbDataAdapter("Select * from [Sayfa1$],sqlcon);
    System.Data.DataSet dataSet=new System.Data.DataSet();
    dataAdapter.Fill(dataSet);
    DataTable dataTable=dataSet.Tables[0];
    sqlcon.Close();
    int col=Range.Columns.Count;
    int row=Range.Rows.Count;


  for(int rowNumber=1; rowNumber <=Sheet.Rows.Count; rowNumber++)
{
 Excel.Range Rng=(Excel.Range)Sheet.get_Range("A1:C:10",Type.Missing);
 System.Array arrayvalue=(System.Array)Range.Cells.Value2;
if (arrayvalue.GetValue(1,1) ==null)
{
break;
}

List<string> list=new List<string>();
DataTable dtTable=view.ToTable(false,list.ToArray());
Dictionary<string,string> dic=new Dictionary<string,string>();
foreach(Excel.Range cell in xlRng)
{
    string Index=cell.get_Address(false,false,Excel.XlReferenceStyle.xlA1,Type.Missing,Type.Missing);
string Value=Convert.ToString(cell.Value2);
dic.Add(cellIndex,cellValue);
}

//select column and set

dtTable.Column[0].ColumnName=STUDENTS_INFORMATION.ID.ToString();
dtTable.Column[1].ColumnName=STUDENTS_INFORMATION.Name.ToString();
dtTable.Column[2].ColumnName=STUDENTS_INFORMATION.Class.ToString();
}

推荐答案

,sqlcon); System.Data.DataSet dataSet =新的System.Data.DataSet(); dataAdapter.Fill(dataSet); DataTable dataTable = dataSet.Tables [0]; sqlcon.Close(); int col = Range.Columns.Count; int row = Range.Rows.Count; for(int rowNumber = 1; rowNumber< = Sheet.Rows.Count; rowNumber ++) { Excel.Range Rng =(Excel.Range)Sheet.get_Range("A1:C:10",Type.Missing); System.Array arrayvalue =(System.Array)Range.Cells.Value2; 如果(arrayvalue.GetValue(1,1)== null) { 休息; } List< string> list = new List< string>(); DataTable dtTable = view.ToTable(false,list.ToArray()); 字典< string,string> dic = new字典< string,string>(); foreach(xlRng中的Excel.Range单元格) { 字符串索引= cell.get_Address(false,false,Excel.XlReferenceStyle.xlA1,Type.Missing,Type.Missing); 字符串Value = Convert.ToString(cell.Value2); dic.Add(cellIndex,cellValue); } //选择列并设置 dtTable.Column [0] .ColumnName = STUDENTS_INFORMATION.ID.ToString(); dtTable.Column [1] .ColumnName = STUDENTS_INFORMATION.Name.ToString(); dtTable.Column [2] .ColumnName = STUDENTS_INFORMATION.Class.ToString(); }
,sqlcon); System.Data.DataSet dataSet=new System.Data.DataSet(); dataAdapter.Fill(dataSet); DataTable dataTable=dataSet.Tables[0]; sqlcon.Close(); int col=Range.Columns.Count; int row=Range.Rows.Count; for(int rowNumber=1; rowNumber <=Sheet.Rows.Count; rowNumber++) { Excel.Range Rng=(Excel.Range)Sheet.get_Range("A1:C:10",Type.Missing); System.Array arrayvalue=(System.Array)Range.Cells.Value2; if (arrayvalue.GetValue(1,1) ==null) { break; } List<string> list=new List<string>(); DataTable dtTable=view.ToTable(false,list.ToArray()); Dictionary<string,string> dic=new Dictionary<string,string>(); foreach(Excel.Range cell in xlRng) { string Index=cell.get_Address(false,false,Excel.XlReferenceStyle.xlA1,Type.Missing,Type.Missing); string Value=Convert.ToString(cell.Value2); dic.Add(cellIndex,cellValue); } //select column and set dtTable.Column[0].ColumnName=STUDENTS_INFORMATION.ID.ToString(); dtTable.Column[1].ColumnName=STUDENTS_INFORMATION.Name.ToString(); dtTable.Column[2].ColumnName=STUDENTS_INFORMATION.Class.ToString(); }


这篇关于在C#中找不到列0?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆