C# 如何从datagridview获取excel列名
大家好,我有一个表单应用程序,用于重命名从excel获取数据的文件,我想使用datagridview获取excel列名,我应该怎么做 编辑:注释上的excel图像C# 如何从datagridview获取excel列名,c#,excel,winforms,vba,datagridview,C#,Excel,Winforms,Vba,Datagridview,大家好,我有一个表单应用程序,用于重命名从excel获取数据的文件,我想使用datagridview获取excel列名,我应该怎么做 编辑:注释上的excel图像 path = dataGridView1.Rows[i].Cells["K1"].Value.ToString(); path2 = dataGridView1.Rows[i].Cells["K2"].Value.ToString(); 这些K1和K2是其中一个excel列名的名称,但我希望它能在所有exce
path = dataGridView1.Rows[i].Cells["K1"].Value.ToString();
path2 = dataGridView1.Rows[i].Cells["K2"].Value.ToString();
这些K1和K2是其中一个excel列名的名称,但我希望它能在所有excel列上工作,如何实现
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
using System.IO;
namespace WindowsFormsApplication7
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
OleDbConnection baglan = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\STAJ\\AppData\\Roaming\\Skype\\My Skype Received Files\\ETKB-Aktarim-Test(1).xlsx ; Extended Properties='Excel 12.0 xml;HDR=YES;'");
baglan.Open();
string sorgu = "select * from [Sheet1$] ";
OleDbDataAdapter data_adaptor = new OleDbDataAdapter(sorgu, baglan);
baglan.Close();
DataTable dt = new DataTable();
data_adaptor.Fill(dt);
dataGridView1.DataSource = dt;
string path="";
string path2 = "";
string newFileName = "";
string oldFileName = "";
int i = 0;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
try
{
path = dataGridView1.Rows[i].Cells["K1"].Value.ToString();
path2 = dataGridView1.Rows[i].Cells["K2"].Value.ToString();
oldFileName = path ;
newFileName = path2;
if (File.Exists(oldFileName))
{
File.Move(oldFileName, newFileName);
}
i++;
}
catch (Exception ex)
{
MessageBox.Show("DOSYA ADI DEGISTIRILDI");
}
}
}
}
}
我不清楚你的目标是什么。。。你能发布你的Excel文件的截图吗?是否尝试将带有某些标题的Excel表格转换为datagridview,并为dgv列提供该表格第一行的名称?@SpaceSteak否我想从c#获取Excel列名,无论是哪个Excel文件。它应该适用于所有excel。K1和K2是excel列的名称。@SpaceSteak这是我的excel。tinypic照片不加载。。。你能试试imgur吗?顺便说一句,当您在扩展属性中使用HDR=Yes时,假定您的整个第一行都有列名。。。如果K2(而不是A1,B1)包含列名。。。您要导入的所有Excel文件是否都具有相同的格式?我为此做的一件事是确保所有导入的图纸都有标题范围,并且只使用dgv列名的范围值。。。但这是使用Excel.工作簿而不是OleDb加载文件。@我不清楚您的目标是什么。。。你能发布你的Excel文件的截图吗?是否尝试将带有某些标题的Excel表格转换为datagridview,并为dgv列提供该表格第一行的名称?@SpaceSteak否我想从c#获取Excel列名,无论是哪个Excel文件。它应该适用于所有excel。K1和K2是excel列的名称。@SpaceSteak这是我的excel。tinypic照片不加载。。。你能试试imgur吗?顺便说一句,当您在扩展属性中使用HDR=Yes时,假定您的整个第一行都有列名。。。如果K2(而不是A1,B1)包含列名。。。您要导入的所有Excel文件是否都具有相同的格式?我为此做的一件事是确保所有导入的图纸都有标题范围,并且只使用dgv列名的范围值。。。但这是使用Excel.工作簿而不是OleDb加载文件。@SpaceSteak