C# 从excel导入特定数据
我有两个excel文件,都是特定格式的。我需要从他们每个人那里获取数据,同时在我的程序上显示所有数据 问题是,我的数据在特定的单元格中C# 从excel导入特定数据,c#,excel,C#,Excel,我有两个excel文件,都是特定格式的。我需要从他们每个人那里获取数据,同时在我的程序上显示所有数据 问题是,我的数据在特定的单元格中 我的第一个数据在C2单元 第二个数据位于文件底部附近。每个文件中的列仍然相同,但行不同。所以我必须写一个循环来找到那一行。也许如果(row-1==“”)像这样的代码可以写在for循环中 以下是我目前的代码: public partial class Form1 : Form { FolderBrowserDialog fbd = new Folder
- 我的第一个数据在C2单元
- 第二个数据位于文件底部附近。每个文件中的列仍然相同,但行不同。所以我必须写一个循环来找到那一行。也许如果(row-1==“”)像这样的代码可以写在for循环中
public partial class Form1 : Form
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
String[] genel = new String [1000];
public Form1()
{
InitializeComponent();
this.textBox1.ReadOnly = true;
}
private void btnGozat_Click(object sender, EventArgs e)
{
if (fbd.ShowDialog() == DialogResult.OK)
{
checkedListBox1.Items.AddRange(Directory.GetFiles(fbd.SelectedPath).Select(x => Path.GetFileName(x)).ToArray());
}
textBox1.Text =fbd.SelectedPath;
String[] allfiles = System.IO.Directory.GetFiles(fbd.SelectedPath, "*.*", System.IO.SearchOption.AllDirectories);
genel = allfiles;
}
private void btnAnaliz_Click(object sender, EventArgs e)
{
String[] checkedFiles = new String[checkedListBox1.Items.Count];
int count;
int checkF = 0;
for (count = 0; count < checkedListBox1.Items.Count; count++)
{
if (checkedListBox1.GetItemChecked(count))
{
checkedFiles[checkF] = genel[count];
checkF++;
}
}
}
}
公共部分类表单1:表单
{
FolderBrowserDialog fbd=新建FolderBrowserDialog();
字符串[]genel=新字符串[1000];
公共表格1()
{
初始化组件();
this.textBox1.ReadOnly=true;
}
私有void btnGozat_单击(对象发送者,事件参数e)
{
如果(fbd.ShowDialog()==DialogResult.OK)
{
checkedListBox1.Items.AddRange(Directory.GetFiles(fbd.SelectedPath).Select(x=>Path.GetFileName(x)).ToArray();
}
textBox1.Text=fbd.SelectedPath;
字符串[]allfiles=System.IO.Directory.GetFiles(fbd.SelectedPath,“**”,System.IO.SearchOption.AllDirectories);
genel=所有文件;
}
私有void btnanalize\u单击(对象发送者,事件参数e)
{
String[]checkedFiles=新字符串[checkedListBox1.Items.Count];
整数计数;
int-checkF=0;
对于(count=0;count
谢谢。以下是一些代码,希望对您有所帮助:
ExcelReader reader = new ExcelReader();
reader.ConnectionString = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties=Excel 12.0;", dataSource);
DataSet testData = reader.ConvertToDataSet(workSheet);
您有一个不同的类ExcelReader
和方法ConvertToDataSet
public ExcelReader(string connectionString)
{
_connectionString = connectionString;
}
public DataSet ConvertToDataSet(string workSheetName)
{
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [" + workSheetName + "$]", ConnectionString);
DataSet ds = new DataSet();
adapter.Fill(ds, "Standard");
return ds;
}
之后,您将Excel文件放入数据集中
,您可以操作数据
您还需要一个连接字符串属性 这是宏吗?C#申请?到目前为止你到底做了什么?这是一个C#应用程序。到目前为止,使用FolderBrowserDialog打开的文件夹包含文件,在选中的列表框中显示文件夹中的文件,获取所选文件的路径。您使用哪个库与excel通信?这可能有助于发布您目前拥有的代码,Heya-注释中的代码格式真的很糟糕。。。你能不能编辑你的问题并在那里添加代码,这样我们都能轻松阅读?非常感谢!我添加了代码。对不起,我不熟悉这个网站的格式@Chance谢谢您的帮助。@user3818470如果问题对您有帮助,您可以将其标记为正确!