在C#中找不到列0? [英] Cannot find column 0 in C#?
本文介绍了在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屋!
查看全文