小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

asp.net中打開Excel上傳文件,讀取數(shù)據(jù)的方法

 悟靜 2012-06-14

代碼:

    /// <summary>
    /// 打開Excel文件
    /// </summary>
    /// <param name="ExcelFileName">文件名</param>
    private void OpenExcelFile(string ExcelFileName)
    {
        Excel.Application App = new Excel.Application();
        if (App == null)
        {
            return;  //Excel尚未安裝
        }
        Excel.Workbook workbook = App.Workbooks.Open(@ExcelFileName,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing);
        CultureInfo CurrentCI = System.Threading.Thread.CurrentThread.CurrentCulture;
        try
        {
            App.Visible = false;
            App.DisplayAlerts = false;
            Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
            ProcessExcelData(workbook);
        }
        finally
        {
            App.Quit();
            Marshal.ReleaseComObject(workbook);
            while (Marshal.ReleaseComObject(App) > 0) ;
            workbook = null;
            App = null;
            GC.Collect();
            Thread.CurrentThread.CurrentCulture = CurrentCI;
        }
    }

    /// <summary>
    /// 提取Excel表格數(shù)據(jù)
    /// </summary>
    /// <param name="InputWorkbook"></param>
    /// <returns></returns>
    private Excel.Workbook ProcessExcelData(Excel.Workbook InputWorkbook)
    {
        Excel.Sheets sheets = InputWorkbook.Worksheets;
        Excel.Worksheet DataSheet = null;
        foreach (Worksheet sheet in sheets)
        {
            if (sheet.Name.ToLower() == "sheet1")
            {
                DataSheet = sheet;
                break;
            }
        }
        if (null == DataSheet)
        {
            return InputWorkbook;
        }

        庫存批次表 Bll = new 庫存批次表();
        庫存批次表Info Model;
        object TmpObj;
        Excel.Range FieldsRange = DataSheet.get_Range("A2", "K7");
        System.Array FieldNames = (System.Array)FieldsRange.Formula;
        for (int i = 0; i < FieldNames.GetLength(0); i++)
        {
            Model = new 庫存批次表Info();

            TmpObj = FieldNames.GetValue(i + 1, 1);
            Model.貨品ID = Convert.ToDecimal(TmpObj);

            TmpObj = FieldNames.GetValue(i + 1, 2);
            Model.貨品編碼 = Convert.ToDecimal(TmpObj);

            TmpObj = FieldNames.GetValue(i + 1, 3);
            Model.批次號 = Convert.ToString(TmpObj);

            TmpObj = FieldNames.GetValue(i + 1, 4);
            Model.入庫日期 = Convert.ToDateTime(TmpObj.ToString());

            TmpObj = FieldNames.GetValue(i + 1, 5);
            Model.入庫單號 = Convert.ToString(TmpObj);

            TmpObj = FieldNames.GetValue(i + 1, 6);
            Model.入庫信息 = Convert.ToString(TmpObj);

            TmpObj = FieldNames.GetValue(i + 1, 7);
            Model.生產(chǎn)日期 = Convert.ToDateTime(TmpObj.ToString());

            TmpObj = FieldNames.GetValue(i + 1, 8);
            Model.過期日期 = Convert.ToDateTime(TmpObj.ToString());

            TmpObj = FieldNames.GetValue(i + 1, 9);
            Model.入庫數(shù)量 = Convert.ToDecimal(TmpObj);

            TmpObj = FieldNames.GetValue(i + 1, 10);
            Model.出庫數(shù)量 = Convert.ToDecimal(TmpObj);

            TmpObj = FieldNames.GetValue(i + 1, 11);
            Model.結存數(shù)量 = Convert.ToDecimal(TmpObj);


            Bll.Insert(Model);
        }
        FieldsRange = null;
        FieldNames = null;
        return InputWorkbook;
    }

 

調(diào)用方法:

OpenExcelFile(Server.MapPath(@"../UploadFile/")+strFileURL);

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約