zoukankan      html  css  js  c++  java
  • C# 利用Excel直接读取方法读取Excel进DataGridView

    在winform里拖入一个datagridview控件,跟一个openfiledialog控件,这个例子的功能只是读取excel文件,其他的功能本人还在研究当中
    献上代码
    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:\Users\Administrator\Desktop";
                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
    
        }
    }
    
  • 相关阅读:
    使用supervisor做进程控制
    HDU 4272 LianLianKan [状态压缩DP]
    UVALive 4297 First Knight [期望+高斯消元(优化)]
    HDU 4269 Defend Jian Ge [模拟]
    POJ 2497 Widget Factory [高斯消元解同余方程组]
    HDU 2996 In case of failure [KD树]
    HDU 4268 Alice and Bob [贪心]
    HDU 4273 Rescue [三维几何]
    HDU 4267 A Simple Problem with Integers [树状数组]
    HDU 4271 Find Black Hand [最短编辑距离DP]
  • 原文地址:https://www.cnblogs.com/lyhabc/p/2048884.html
Copyright © 2011-2022 走看看