0

我在这里使用 ExcelDataReader。

我不知道为什么下面的代码不起作用。它不会产生任何错误,但仍然不显示 Excel 数据。加载excel文件后它根本不做任何事情。我是 C# 新手,经过 5 个小时的挖掘,我感到很沮丧,因为我不知道为什么这不起作用。

using Excel;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication5
{
    public partial class ExcelForm : Form
    {
        public ExcelForm()
        {
            InitializeComponent();
        }



        private void ExcelForm_Load(object sender, EventArgs e)
        {

        }


        DataSet result;

    private void btnOpen_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "Excel(.xls)|*.xls|Excel(.xlsx)|*.xlsx", ValidateNames = true })
            {
                if(ofd.ShowDialog() == DialogResult.OK)
                {
                    FileStream fs = File.Open(ofd.FileName, FileMode.Open, FileAccess.Read);
                    IExcelDataReader reader;
                    if (ofd.FilterIndex == 1)
                        reader = ExcelReaderFactory.CreateBinaryReader(fs);
                    else
                        reader = ExcelReaderFactory.CreateOpenXmlReader(fs);
                    reader.IsFirstRowAsColumnNames = true;
                    result = reader.AsDataSet();
                    reader.Close();

                    dataGridView.DataSource = result;




                }
            }
        }

    }
}
4

1 回答 1

1
dataGridView.DataSource = DtSet.Tables[0];
于 2017-03-18T10:34:54.377 回答