c#利用Excel直接读取数据到DataGridView
c#利用Excel直接读取数据到DataGridView
发布时间:2016-12-28 来源:查字典编辑
摘要:在winform里拖入一个datagridview控件,跟一个openfiledialog控件复制代码代码如下:usingSystem;us...

在winform里拖入一个datagridview控件,跟一个openfiledialog控件

复制代码 代码如下:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using Microsoft.Office.Core;

using Excel=Microsoft.Office.Interop.Excel;

using System.Windows.Forms;

using System.Reflection;

namespace Excelproject

{

public partial class ExcelForm : Form

{

private ExcelOperate eo;

private string excelpath;

private Excel.Application excel1;

private Excel.Workbooks wbs = null;

private Excel.Workbook wb = null;

private Excel.Sheets wss;

private Excel.Worksheet ws = null;

private Excel.Range range1 = null;

public ExcelForm()

{

InitializeComponent();

this.excel1 = new Excel.Application();

if (excel1 == null)

{

MessageBox.Show("error");

System.Windows.Forms.Application.Exit();

}

excel1.Visible = true;

}

#region excel文件打开关闭操作

private void 打开_Click(object sender, EventArgs e)

{

openFileDialog1 = new OpenFileDialog();

openFileDialog1.Title = "打开excel文件";

openFileDialog1.Filter = "excel03文件(*.xls)|*.xls|excel07文件(*.xlsx)|*.xlsx";

openFileDialog1.InitialDirectory = @"C:UsersAdministratorDesktop";

openFileDialog1.RestoreDirectory = true;

if (openFileDialog1.ShowDialog() == DialogResult.OK)

{

//打开文件对话框选择的文件

excelpath = openFileDialog1.FileName;

eo = new ExcelOperate();

readExcel(excelpath);

}

}

void readExcel(string path)

{

object miss = System.Reflection.Missing.Value;

excel1.UserControl = true;

excel1.DisplayAlerts = false;

excel1.Application.Workbooks.Open(excelpath, miss, miss, miss, miss,

miss, miss, miss, miss,

miss, miss, miss, miss,

miss, miss);

wbs = excel1.Workbooks;

wss = wbs[1].Worksheets;

ws = (Excel.Worksheet) wss.get_Item(1);

int rowNum = ws.UsedRange.Cells.Rows.Count;

int colNum = ws.UsedRange.Cells.Columns.Count;

string cellStr = null;

char ch = 'A';

for (int i = 0; i < colNum; i++)

{

dataGridView1.Columns.Add(i.ToString(), ch.ToString());

dataGridView1.Rows.Add(rowNum);

for (int j = 0; j <rowNum; j++)

{

cellStr = ch.ToString() + (j + 1).ToString();

dataGridView1[i, j].Value = ws.UsedRange.Cells.get_Range(cellStr, miss).Text.ToString();

}

ch++;

}

}

#endregion

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类