如何选择不同的Excel表格? [英] How can I select different excel sheets?
本文介绍了如何选择不同的Excel表格?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想选择一个excel文件的不同页面,但是下一个OleDbDataAdapter使用以前的工作表数据(我的excel文件有两个页面,namly Rv和NumOfmachine)。
这是我的代码:
DataNumOfmachine使用Rv数据表。
I want to select diffrent sheets of a single excel file, but the next OleDbDataAdapter uses the previous sheet data (my excel file has two sheets namly Rv and NumOfmachine).
this is my code:
the DataNumOfmachine uses the Rv data sheet.
OleDbConnection Amir = new OleDbConnection();
OleDbCommand AmirCom = new OleDbCommand();
OleDbDataAdapter DataRv, DataNumOfmachine = new OleDbDataAdapter();
DataSet AmirDataSet = new DataSet();
DataTable AmirDataTable = new DataTable();
Amir.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\DataSource.xlsx;Extended Properties='Excel 12.0;HDR=YES';";
//Amir.Open();
DataRv = new OleDbDataAdapter("select * from [Rv$]", Amir);
//AmirData.Fill(AmirDataSet);
DataRv.Fill(AmirDataTable);
Double[,] Rv = new Double[G, O];
for (g = 0; g < G; g++)
for (o = 0; o < O; o++)
Rv[g, o] = int.Parse(AmirDataTable.Rows[g][o]+ "");
DataNumOfmachine = new OleDbDataAdapter("select * from [NumOfmachine$]", Amir);
//DataNumOfmachine.Fill(AmirDataSet);
DataNumOfmachine.Fill(AmirDataTable);
int[] NumOfmachine = new int[S];
for (s = 0; s < S; s++)
NumOfmachine[s] = int.Parse(AmirDataTable.Rows[0][s] + "");
我尝试过:
如何选择不同的Excel表格?
What I have tried:
How can I select different Excel sheets?
推荐答案
,Amir);
// AmirData.Fill(AmirDataSet);
DataRv.Fill(AmirDataTable);
Double [,] Rv = new Double [G,O];
for (g = 0 ; g < G; g ++)
for (o = 0 ; o < O; o ++)
Rv [g,o] = int .Parse(AmirDataTable.Rows [g] [o] + );
DataNumOfmachine = new OleDbDataAdapter( select [from [NumOfmachine
", Amir); //AmirData.Fill(AmirDataSet); DataRv.Fill(AmirDataTable); Double[,] Rv = new Double[G, O]; for (g = 0; g < G; g++) for (o = 0; o < O; o++) Rv[g, o] = int.Parse(AmirDataTable.Rows[g][o]+ ""); DataNumOfmachine = new OleDbDataAdapter("select * from [NumOfmachine
,Amir);
// DataNumOfmachine.Fill(AmirDataSet);
DataNumOfmachine.Fill(AmirDataTable) );
int [] NumOfmachine = new INT 跨度> [S];
for (s = 0 ; s < ; S; s ++)
NumOfmachine [s] = int .Parse(AmirDataTable.Rows [ 0 ] [s] + );
", Amir); //DataNumOfmachine.Fill(AmirDataSet); DataNumOfmachine.Fill(AmirDataTable); int[] NumOfmachine = new int[S]; for (s = 0; s < S; s++) NumOfmachine[s] = int.Parse(AmirDataTable.Rows[0][s] + "");
我尝试过:
如何选择不同的Excel表格?
What I have tried:
How can I select different Excel sheets?
如果您想通过OleDb枚举Excel工作表,可以使用 OleDbConnection.GetSchema方法(字符串)(System.Data.OleDb) [ ^ ]
用法:
If you would like to enum Excel sheets via OleDb, you can use OleDbConnection.GetSchema Method (String) (System.Data.OleDb)[^]
Usage:
string sFileName = @"FullFileNmae.xlsx";
string sConStr = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=YES';", sFileName);
using (OleDbConnection connection = new OleDbConnection(sConStr))
{
connection.Open();
DataTable dt = new DataTable();
dt = connection.GetSchema("TABLES");
var sheets = dt.AsEnumerable()
.Select(x=>x.Field<string>("TABLE_NAME"))
.ToList();
}
上面的代码应返回工作表名称列表,例如:
Above code should return a list of sheet names, for example:
Sheet2
这篇关于如何选择不同的Excel表格?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文