我怎样才能从Excel中的Excel表中select特定的列?
我如何从excel表格中select特定的列而不是所有的列
string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""", txtPath.Text); string query = String.Format("select * from [{0}$]", "Sheet1"); OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString); DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet); dataGridView1.DataSource = dataSet.Tables[0];
关于什么:
SELECT * FROM [Sheet1$B14:C20]
这应该select单元格B14
到C20
。
这听起来微不足道,但这是我从你的问题中了解到的。 而不是SELECT *
使用SELECT [columnName1],[columnName2] FROM Sheet1.
。 这里columnName1
和columnName2
应该是你想要从Excel Sheet
获得的列的标题。
如果您想在填充之前select数据,那么这是高级select语句的一个很好的参考 。 如果你想操纵你的数据填充你的数据集然后这里是如何:
DataTable myTable = dataSet.Tables[0]; var myColumn = myTable.Columns["ColumnName"];
要么
var myColumn = myTable.Columns[0];
要访问一个单一的领域,它会看起来像这样。
var field = myTable.Rows[0][myColumn];
- 如何将新的datagridview数据导出为excel
- 当从C#打开一个Excel spreedsheet正在被其他用户使用时,引发exception
- 从Excel单元格读取十进制值(在C#中)
- 将类属性映射到Excel / Spreadsheet列名的问题(使用LinqToExcel库时)
- Excel IF语句导致错误:来自HRESULT的exception:0x800A03EC
- 如何使用EPPlus和MVC从服务器下载.xslx文件
- 如何通过Office Interop从C#访问Excel中的撤消堆栈?
- 在Diagnostics.Process.Start()完成之前,应用程序不会退出
- 与Excel中的interopServices C#COMException