c#怎么把excel表格数据读取datagridview

 我来答
保谷枫75
2016-06-08 · TA获得超过692个赞
知道小有建树答主
回答量:444
采纳率:100%
帮助的人:215万
展开全部

思路 是是先把 exce 表内数据  读取到 system.DataTable   

再 绑定到 datagridview  

Excel 转 system.DataTable  方法如下(需要引入NPOI)dll见附件   部分代码:

public static DataTable ConvertToDataTable(System.IO.Stream excelFileStream)

        {

            HSSFWorkbook HSSFWorkbook = new HSSFWorkbook(excelFileStream);

            DataTable dt = new DataTable();

            HSSFSheet sheet = (HSSFSheet)HSSFWorkbook.GetSheetAt(0);

            System.Collections.IEnumerator rows = sheet.GetRowEnumerator();

            int n = 0;

            while (rows.MoveNext())

            {

                HSSFRow row = (HSSFRow)rows.Current;

                if (n == 0)

                {

                    for (int i = 0; i < row.LastCellNum; i++)

                    {

                        HSSFCell cell = (HSSFCell)row.GetCell(i);

                        if (cell == null)

                            continue;

                        DataColumn column = new DataColumn(cell.StringCellValue);


                        dt.Columns.Add(column);

                    }

                }

                else

                {

                    DataRow dtRow = dt.NewRow();

                    string rValue = "";

                    for (int i = 0, j = 0; i < row.LastCellNum; i++)

                    {

                        HSSFCell cell = (HSSFCell)row.GetCell(i);

                        if (cell == null)

                        {

                            dtRow[i] = "";

                        }

                        else

                        {

                            dtRow[j] = cell.ToString();

                            rValue = cell.ToString();

                            j++;

                        }

                    }

                    if (string.IsNullOrEmpty(rValue.Trim()))

                        break;

                    dt.Rows.Add(dtRow);

                }

                n++;

            }

            return dt;


        }


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式