[英]How can I use OLEDB to populate listview from a .XLS file
嗨,我有一個小問題。 我正在編寫一個程序,該程序在兩個單獨的列表視圖中顯示Excel文件文件的列,並在其旁邊顯示Access數據庫的列。 您選擇要顯示帶有組合框的工作表和表格。 Access列顯示正常,但是無論我做什么,Excel工作表的列都不會顯示,但是工作表出現在組合框中沒有任何問題,但是無論我做什么,這些列都不會出現。 有什么我可以做到的特定方法,因為我在Internet上找不到任何東西。
這是應該插入的部分{
{
// lvwDestination.Columns.Add(_dt.Columns[i].ColumnName);
lvwSource.Columns.Add("Fields in Database", -2, HorizontalAlignment.Left);
for (int i = 0; i < _Sourcedt.Rows.Count; i++)
{
ListViewItem lvwItem = new ListViewItem("" + _Sourcedt.Columns[i].ColumnName, 0);
lvwSource.Items.AddRange(new ListViewItem[] { lvwItem });
}
}
}
我可能還搞砸了另一部分,它適用於訪問,但不適用於excel。 我也修改了Select語句
private void cboSourceName_SelectedIndexChanged(object sender,EventArgs e){//創建適配器並填充DataSet
OleDbDataAdapter adapter =
new OleDbDataAdapter("Select * from " + cboSourceName.Text +"" + "", _SourceConn);
lvwSource.Columns.Clear();
lvwSource.Items.Clear();
_Sourcedt.Columns.Clear();//Contains all the columns in selected table
try
{
adapter.Fill(_Sourcedt);
}
catch
{
}
LoadColumns2();
}
還有連接部分
私人void btnConnectSource_Click(object sender,EventArgs e){試試{
string connString =
"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + txtSourcePath.Text + ";" +
"Extended Properties=Excel 8.0";
//"Password=" + txtPWSource + ";";
_SourceConn = new OleDbConnection(connString);
// _OleConn[1].ConnectionString = connString;
_SourceConn.Open();
_Sourcedt = new DataTable();
LoadCombo2();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
在這種情況下,Listview不是一個好主意。 最好的方法是將數據從Excel填充到Datagrid中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.