嗨,我有一个小问题。我正在编写一个程序,它显示一个Excel文件文件的列,旁边是两个单独的列表视图中的Access数据库的列。您选择要使用组合框显示的工作表和表格。 Access列显示正常,但无论我做什么,Excel工作表的列都不会显示,但工作表显示在组合框中没有任何问题,但无论我做什么,列都不会出现。有没有什么特别的方法可以帮助我在互联网上找不到任何东西。
这是应该插入它的部分 {
{
// 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();
}
还有连接部分
private 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);
}
答案 0 :(得分:0)
在这种情况下使用Listview并不是一个好主意。最好的方法是将数据从Excel填充到Datagrid