本文地址:http://www.cnblogs.com/vnii/archive/2011/09/02/2163381.html
读取Excel中所有工作表名
//是否已有字段头 string strHead = "YES" ; if (chkHead.Checked== false ) {
strHead = "NO" ; } string excelFilepath = openFileExcel.FileName; string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFilepath + ";Extended Properties="Excel 12.0;HDR=" + strHead + ";"" ; if ((System.IO.Path.GetExtension(excelFilepath)).ToLower() == ".xls" ) {
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFilepath + ";Extended Properties="Excel 8.0;HDR=" + strHead + ";IMEX=1"" ; } using (OleDbConnection conn = new OleDbConnection(strCon)) {
conn.Open();
//返回在目录中定义的表
System.Data.DataTable schemeTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null );
for ( int i = 0; i < schemeTable.Rows.Count; i++)
{
//工作表名 schemeTable.Rows[i][2].ToString().Trim()
cmbSheets.Items.Add(schemeTable.Rows[i][2].ToString().Trim());
}
if (cmbSheets.Items.Count > 0)
{
cmbSheets.Enabled = true ;
//cmbSheets.SelectedIndex = 0;
}
else
{
cmbSheets.Enabled = false ;
} } |
读取工作表中的字段列名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
//是否已有字段头 string strHead = "YES" ; if (!bHead) {
strHead = "NO" ; } string strSheetName = "" ; if (comboBoxSheets.SelectedIndex!=-1) {
strSheetName = comboBoxSheets.SelectedItem.ToString(); } else {
MessageBox.Show( "选择工作表" );
return ; } string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strExcelFilepath + ";Extended Properties="Excel 12.0;HDR=" + strHead + ";"" ; if ((System.IO.Path.GetExtension(strExcelFilepath)).ToLower() == ".xls" ) {
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strExcelFilepath + ";Extended Properties="Excel 8.0;HDR=" + strHead + ";IMEX=1"" ; } using (OleDbConnection conn = new OleDbConnection(strCon)) {
//读取选择的工作表
OleDbDataAdapter oleDbDataAdapter =
new OleDbDataAdapter( "Select * from [" + strSheetName + "]" , conn);
DataSet dataSet = new DataSet();
oleDbDataAdapter.Fill(dataSet, "mytb" );
dataGridView.DataSource = dataSet.Tables[ "mytb" ];
//工作表内容的列名,注意Excel连接串中的HDR属性
for ( int i = 0; i < dataSet.Tables[ "mytb" ].Columns.Count; i++)
{
comboBoxColumns.Items.Add(dataSet.Tables[ "mytb" ].Columns[i].ColumnName);
}
comboBoxColumns.Enabled = true ; } |
参考网页:http://www.cnblogs.com/MR_ke/archive/2010/03/02/1676210.html
http://www.cnblogs.com/litianfei/archive/2008/03/21/1116906.html
http://hi.baidu.com/sunsung111/blog/item/685c5ae606831525b838206a.html