Asp.netは、Excelのソリューションで結合されたセルを読み込み---成功(最高)

Microsoft.Office.Interop.Excel.dllのバージョン 14.0 

//ファイルのアップロード

            btn_dr_fp_Click(NULL、NULL);

            文字列WJM = "";

            (ViewStateは[ "zrpzy085"]!= null)の場合

            {

                WJM = ViewStateは[ "zrpzy085"]のToString()。

            }

            System.Threading.Thread.Sleep(1000);

           

            文字列strFileName = Server.MapPathの( "〜/ exceldr /")+ WJM。

            オブジェクト行方不明= System.Reflection.Missing.Value。

            //だせExcelアプリケーション、アプリケーションのExcelは、新しいアプリケーションを()= 

            (エクセル== null)の場合

            {

                Response.Writeを( "<スクリプト>警告( 'することはできませんアクセス、エクセル')</スクリプト>");

            }

            そうしないと

            {

                excel.Visible = falseは、excel.UserControlは真=。

                EXCELの読み取り専用形式で//ファイルを開きます 

                ワークブックWB = excel.Application.Workbooks.Open(strFileName、行方不明、真、行方不明、行方不明、行方不明、

                 )、行方不明行方不明、行方不明、真、行方不明、行方不明、行方不明、行方不明、行方不明。

                //最初のワークブックを取得 

                ワークシートWS =(ワークシート)wb.Worksheets.get_Item(1)。

                //(タイトルバーを含む)行の合計数を取得します。 

                int型rowsint = ws.UsedRange.Cells.Rows.Count; //行数を取得します 

                //テスト

               // this.Lbl_ts.Text = rowsint.ToString();オープンエクセル成功

                //セルがマージされているか否かを判定する

               //レンジexcelRange = ws.UsedRange。

                試します

                {

 

                    / *

                    レンジoCurCell;

                    oCurCell =((範囲)excelRange.Cells [6,0])MergeCells。

                    (oCurCell!= null)の場合

                    {

                        this.Lbl_ts.Text =は「結合されたセルです」。

                    }

                     * /

                   //範囲サブレンジ=(範囲)excelRange.Cells [6,0]。

                    

                    レンジRNG1 = ws.Cells.get_Range( "A8"、 "A8")。

                    もし(rng1.MergeCells)

                    {

                        this.Lbl_ts.Text =は「結合されたセルです」。

                    }

                    そうしないと

                    {

                        this.Lbl_ts.Text =「セルをマージされていません」。

                    }

                }

                キャッチ(例外ERR)

                {

                    this.Lbl_ts.Text = err.Message。

                }

                

               最後に

                {

                    excel.Quit(); = nullのエクセル。

                    プロセス[] = procsのProcess.GetProcessesByName( "エクセル")。

                    foreachの(procsの中のプロセスのプロ)

                    {

                        pro.Kill(); //いいえ良い方法は、唯一のプロセスを殺すために 

                    }

                    GC.Collect(); 

                }

                

            }

おすすめ

転載: www.cnblogs.com/zrprj/p/12238310.html