none
NPOI 使用 RemoveRow 砍資料 RRS feed

  • 問題

  • 不好意思~

    小弟目前遇到一個問題

    假設我一個資料表有 3筆資料

    排序為

    1王大銘 生日 地址
    2張小愛 生日 地址
    3孫小美 生日 地址

     

    如果 我砍最後一筆~ 都可以正常運作!

    但如果 我砍 第一筆 或第二筆~~則接下來用程式讀取時 就會出現以下錯誤

    Unexpected missing row when some rows alReady present

    ============================================

    以下為 我刪除資料的 CODE

     

     private void button3_Click(object sender, EventArgs e)

            {

               Boolean delete=true;

               string sw, date;

                int count;

                sw = treeView1.SelectedNode.Text.Substring(0, 7);

                date = treeView1.SelectedNode.LastNode.Text.Substring(5, 21);

                string math = System.DateTime.Now.Month.ToString();

                string year = System.DateTime.Now.Year.ToString();

                string sFileName = Application.StartupPath + "\\log\\" + year + "年" + math + "月份行事曆.xls";

                FileStream file = new FileStream(sFileName, FileMode.OpenOrCreate);

                HSSFWorkbook hssfworkbook = new HSSFWorkbook(file);

                file.Close();

                HSSFSheet sheet1 = hssfworkbook.GetSheet("預備執行");

                HSSFSheet sheet2 = hssfworkbook.GetSheet("執行結束");

                count = sheet1.PhysicalNumberOfRows-1;

                while (delete)

                {

                    if (count == 1)

                    {delete=false;

                    }

                    if (sw == sheet1.GetRow(count).GetCell(1).ToString())

                    {

                        if(date == sheet1.GetRow(count).GetCell(0).ToString())

                        {

                                    HSSFRow row = sheet1.GetRow(count);

                                    sheet1.RemoveRow(row);

                                    delete = false;

                        }

     

                        else

                        {

                            count--; 

                        }

     

                    }

                    else

                    {

                        count--;

                    }

                }

             file = new FileStream(sFileName, FileMode.OpenOrCreate);

                hssfworkbook.Write(file);

                file.Close();

     

    }

    希望可以給我提點一下

     

    2010年9月23日 上午 10:07

所有回覆