cushion1 发表于 2018-4-11 12:16

C# Excel 导入 DataGridView


using System;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;

namespace UI
{
    public partial class FrmBillDetail : Form
    {
      public FrmBillDetail()
      {
            InitializeComponent();
      }

      private void BtnImportData_Click(object sender, EventArgs e)
      {

            if (OfdBillDetail.ShowDialog() == DialogResult.OK)
            {
                // 创建Excel应用程序对象
                Excel.Application excelApp = new Excel.Application
                {
                  // 禁用屏幕更新,提高速度
                  ScreenUpdating = false
                };
                // 打开工作簿对象
                Excel.Workbook wk = excelApp.Workbooks.Open(OfdBillDetail.FileName);
                // Excel应用程序可见
                excelApp.Visible = true;
                // 设置工作表对象
                Excel.Worksheet ws = wk.Sheets;
                // 获取已用行数
                int usedRows = ws.UsedRange.Rows.Count;
                // 获取已用列数
                int usedColumns = ws.UsedRange.Columns.Count;
                // 创建空列,注意C#索引是0开始,Excel是1开始
                DgvBillDetail.ColumnCount = usedColumns;
                // 创建空行,注意C#索引是0开始,Excel是1开始
                DgvBillDetail.RowCount = usedRows - 1;

                for (int currentColumn=1; currentColumn < usedColumns+1; currentColumn++)
                {
                  // 给列取名
                  DgvBillDetail.Columns.Name = ws.Cells.Value;
                  for(int currentRow = 1; currentRow < usedRows; currentRow++)
                  {
                        // 给单元格赋值
                        DgvBillDetail.Value = ws.Cells.Value;
                  }
                }
                // 开启屏幕刷新
                excelApp.ScreenUpdating = true;
                // 关闭工作簿
                excelApp.Quit();

            }
      }

丶andy 发表于 2018-4-11 12:56

好东西,拿走了

萌神淼菥 发表于 2018-4-11 13:11

ipc2008 发表于 2018-4-12 00:21

很基础的,效率一般

psx1lin 发表于 2018-4-12 08:25

學習了
谢谢大大分享。

chpnhx 发表于 2018-4-12 12:15

谢谢分享。

neptune88 发表于 2018-4-27 10:58

还不错,可以使用,感谢分享!

newpowersky 发表于 2018-4-27 11:06

这个没有office的机器用不了吧。
我是用NOPI

chen57725 发表于 2018-5-24 08:40

感谢楼主分享,学习了

ChaunceyWan 发表于 2018-8-2 16:38

谢谢分享
页: [1] 2
查看完整版本: C# Excel 导入 DataGridView