我是全新的OleDB和閱讀excel文件。我有3列(名字 - 姓氏 - 電子郵件地址)工作表,我需要:查詢閱讀與OLEDB的專欄excel工作表
- 知道的行數
- 一個讀取所有的地址,在第三列
- 提取一個每個地址
我使用OpenFileDialog對象(ofd)和文本框(excel)來顯示選定的文件。這是我的代碼:
if (ofd.ShowDialog() == DialogResult.OK)
{
excel.Text = ofd.FileName;
connection = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excel.Text + ";Extended Properties=\"Excel 12.0 Xml;HDR=NO;IMEX=1\"";
conn.ConnectionString = connection;
conn.Open();
string name_query = "SELECT A FROM[" + ofd.SafeFileName + "]";
OleDbDataAdapter da = new OleDbDataAdapter(name_query, conn);
da.Fill(table);
conn.Close();
j = table.Rows.Count;
}
它不起作用,在「FROM ...」查詢問題。我經常讀這種類型的查詢:
"SELECT * FROM [Sheet1$]"
,但我找不到什麼Sheet1$
到底是。有人可以向我解釋正確的查詢嗎?
2)要訪問表的每個元素(它只包含第三列)並將其保存在字符串變量中,我必須做什麼?
非常感謝!
我加了,但他不工作(錯誤在「da.Fill(表)」)。什麼是「表」字符串?和「TABLE_NAME」? Firstsheet?這樣我就無法理解一件事。 –
在excel上使用OLEDB時,表單被解釋爲表格。因此,查詢表格名稱的tableschema將返回表格名稱。 tableschema.Rows [0]返回包含第一個表信息的數據行。 [「TABLE_NAME」]調用名稱爲table_name的數據行中的列索引,其中包含工作表的名稱。 –
關於錯誤:什麼是錯誤消息? –