ImportExcelToDataTable

private DataTable importExcelToDT(string FilePath)
    {
        string strConn;
        strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + FilePath + ";Extended Properties='Excel 8.0; IMEX=1'";
        OleDbConnection conn = new OleDbConnection(strConn);
        OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [ItemLocation$]", strConn);
        DataSet myDataSet = new DataSet();
        try
        {
            myCommand.Fill(myDataSet);

            // 取出数据后删除文件
            // 删除已存在的文件
            if (File.Exists(FilePath))
            {
                File.Delete(FilePath);
            }
        }
        catch
        {

        }
        return myDataSet.Tables[0];
    }

 

 private DataTable ImportExcelToDataTable(string tempFileName)
    {
        DataTable dt = new DataTable();

        //创建Excel对象
        Excel.Application excel = new Excel.Application();
        DateTime afterTime = DateTime.Now;
        excel.EnableEvents = false;
        excel.DisplayAlerts = false;
        excel.Visible = false;

        Excel.Workbook wBook = excel.Workbooks.Open(Server.MapPath("~/Temp/" + tempFileName), Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
        int rowCount = ((Excel.Worksheet)excel.ActiveSheet).UsedRange.Rows.Count;
        int colCount = ((Excel.Worksheet)excel.ActiveSheet).UsedRange.Columns.Count;

        try
        {           
            string cellContent;

            for (int iRow = 1; iRow <= rowCount; iRow++)
            {
                DataRow dr = dt.NewRow();
                for (int iCol = 1; iCol <= colCount; iCol++)
                {
                    cellContent = (((Excel.Range)excel.Cells[iRow, iCol]).Value != null) ? ((Excel.Range)excel.Cells[iRow, iCol]).Value.ToString() : "";
                    if (iRow == 1)
                    {
                        dt.Columns.Add(cellContent);
                    }
                    else
                    {
                        dr[iCol - 1] = cellContent;
                    }
                }
                if (iRow != 1)
                    dt.Rows.Add(dr);
            }
        }
        catch (Exception ex)
        {
            return null;
        }
        finally
        {
            wBook.Close(null, null, null);
            excel.Workbooks.Close();
            excel.Application.Quit();
            excel.Quit();

            System.Runtime.InteropServices.Marshal.ReleaseComObject(wBook);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);

            wBook = null;
            excel = null;
        }
        return dt;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值