C# 读取excel

public  DataSet GetWorkbook(string filename)
        {
            DataSet ds = new DataSet();
            Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();    //初始化Excel对象
            app.Visible = false;
            app.DisplayAlerts = false;
            object missing = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Excel.Workbook wb;
            try
            {
                wb = app.Workbooks.Open(filename, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                throw;
            }
            foreach (Microsoft.Office.Interop.Excel.Worksheet ws in wb.Sheets)
            {
                ds.Tables.Add(GetWorksheet(ws));
            }
            app.Workbooks.Close();
            app.Quit();
            return ds;
        }
        public  DataTable GetWorksheet(Microsoft.Office.Interop.Excel.Worksheet ws)
        {
            DataTable dt = new DataTable();
            dt.TableName = ws.Name;

            int row = ws.UsedRange.Rows.Count + 1;
            int col = ws.UsedRange.Columns.Count + 1;

            for (int c = 1; c < col; c++)
            {
                dt.Columns.Add("F" + c);
            }

            for (int r = 1; r < row; r++)
            {
                DataRow newRow = dt.NewRow();
                for (int c = 1; c < col; c++)
                {
                    newRow[c - 1] = ((Microsoft.Office.Interop.Excel.Range)ws.Cells[r, c]).Value2;  //问题是不是出在这里,请问怎么解决呢
                }
                dt.Rows.Add(newRow);
            }

            return dt;
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值