C#中点击按钮button1,弹出窗口选择电脑中的一张EXCEL表,选中后将EXCEL表中名为“订单总表”的表格所有数据导入dataGridView1中并显示的C#代码
时间: 2024-11-10 09:26:06 浏览: 5
在C#中,你可以使用`OpenFileDialog`来让用户选择Excel文件,然后利用`Microsoft.Office.Interop.Excel`库来处理Excel数据,最后将数据填充到DataGridView中。以下是一个基本的示例代码:
```csharp
using System;
using System.Data.OleDb;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Excel Files (*.xlsx;*.xls)|*.xlsx;*.xls"; // 设置过滤器只显示Excel文件
if (openFileDialog.ShowDialog() == DialogResult.OK) // 如果用户选择了文件
{
string filePath = openFileDialog.FileName;
Excel.Application excelApp = new Excel.Application(); // 初始化Excel应用
Excel.Workbook workbook = excelApp.Workbooks.Open(filePath); // 打开Excel文件
ExcelWorksheet worksheet = workbook.Worksheets["订单总表"]; // 假设"订单总表"是工作表名,如果没有则需要检查是否存在
if (worksheet != null)
{
OleDbConnection connection = new OleDbConnection($"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={filePath};Extended Properties='Excel 12.0;HDR=YES;'"); // 使用OleDb连接Excel
connection.Open();
OleDbCommand command = new OleDbCommand("SELECT * FROM [订单总表$]", connection);
OleDbDataAdapter adapter = new OleDbDataAdapter(command);
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
dataGridView1.DataSource = dataTable; // 将数据绑定到DataGridView
connection.Close();
excelApp.Quit();
}
else
{
MessageBox.Show("找不到'订单总表'的工作表,请确认名称是否正确。");
}
}
}
}
```
阅读全文