C# 参考 Excel select 语句中的工作表索引
C# Reference Excel Worksheet index in a select statement
任务:
我需要使用 C# 将 Excel 电子表格工作表的内容加载到数据网格视图中。
进度:
我已通过 OLEDbConnection 连接到 Excel 电子表格,我需要在我的 select 语句中按工作表索引引用第一个工作表。 (我不知道工作表的名称是什么,但我们总是会加载第一个工作表。)下面是我目前的代码...
tbFileName.Text = openFileDialog1.FileName;
System.Data.OleDb.OleDbConnection MyConnection;
System.Data.DataSet DtSet;
System.Data.OleDb.OleDbDataAdapter MyCommand;
MyConnection = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + tbFileName.Text + ";Extended Properties=Excel 12.0;");
//MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [FlexAccountView$]", MyConnection); <-- accessing worksheet by name...
**MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from " + [need worksheet index reference here], MyConnection);**
我知道这很容易,但出于某种原因,我今天画了一个空白。我已经搜索过 sOf,但没能找到我要找的东西。任何帮助将不胜感激。感谢您的帮助。
这可能不是最好的方法,但这是我能够从 Sorceri 提供的链接中提取的内容..
OleDbConnection MyConnection;
DataSet DtSet;
OleDbDataAdapter MyCommand;
MyConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + tbFileName.Text + ";Extended Properties=Excel 12.0;");
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
//get the workbook
Microsoft.Office.Interop.Excel.Workbook excelBook = xlApp.Workbooks.Open(tbFileName.Text);
//get the first worksheet
Microsoft.Office.Interop.Excel.Worksheet wSheet = excelBook.Sheets.Item[1];
//reference the name of the worksheet from the identified spreadsheet item
MyCommand = new OleDbDataAdapter("select * from [" + wSheet.Name + "$]", MyConnection);
希望这能帮助人们更快地找到它。
按索引 select 工作表的最简单方法是 ...
Excel.Application ExcelApp = new Excel.Application();
Excel.Workbook WorkBook = ExcelApp.Workbooks.Open(inputFile);
Excel.Worksheet WorkSheet = WorkBook.Worksheets[1]; // This is the simplest call
任务: 我需要使用 C# 将 Excel 电子表格工作表的内容加载到数据网格视图中。
进度: 我已通过 OLEDbConnection 连接到 Excel 电子表格,我需要在我的 select 语句中按工作表索引引用第一个工作表。 (我不知道工作表的名称是什么,但我们总是会加载第一个工作表。)下面是我目前的代码...
tbFileName.Text = openFileDialog1.FileName;
System.Data.OleDb.OleDbConnection MyConnection;
System.Data.DataSet DtSet;
System.Data.OleDb.OleDbDataAdapter MyCommand;
MyConnection = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + tbFileName.Text + ";Extended Properties=Excel 12.0;");
//MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from [FlexAccountView$]", MyConnection); <-- accessing worksheet by name...
**MyCommand = new System.Data.OleDb.OleDbDataAdapter("select * from " + [need worksheet index reference here], MyConnection);**
我知道这很容易,但出于某种原因,我今天画了一个空白。我已经搜索过 sOf,但没能找到我要找的东西。任何帮助将不胜感激。感谢您的帮助。
这可能不是最好的方法,但这是我能够从 Sorceri 提供的链接中提取的内容..
OleDbConnection MyConnection;
DataSet DtSet;
OleDbDataAdapter MyCommand;
MyConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + tbFileName.Text + ";Extended Properties=Excel 12.0;");
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
//get the workbook
Microsoft.Office.Interop.Excel.Workbook excelBook = xlApp.Workbooks.Open(tbFileName.Text);
//get the first worksheet
Microsoft.Office.Interop.Excel.Worksheet wSheet = excelBook.Sheets.Item[1];
//reference the name of the worksheet from the identified spreadsheet item
MyCommand = new OleDbDataAdapter("select * from [" + wSheet.Name + "$]", MyConnection);
希望这能帮助人们更快地找到它。
按索引 select 工作表的最简单方法是 ...
Excel.Application ExcelApp = new Excel.Application();
Excel.Workbook WorkBook = ExcelApp.Workbooks.Open(inputFile);
Excel.Worksheet WorkSheet = WorkBook.Worksheets[1]; // This is the simplest call