加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c#利用Excel直接读取数据到DataGridView

发布时间:2020-12-15 05:59:01 所属栏目:百科 来源:网络整理
导读:在winform里拖入一个datagridview控件,跟一个openfiledialog控件 复制代码 代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; 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);
            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

    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读