C#中EXCEL的輸入和倒出

鄒肖橋發表於2020-12-17

C#中EXCEL的輸入和倒出

    private void button1_Click(object sender, EventArgs e)
    {
        List<Person> lists = new List<Person>()
        {
            new Person() {Name="王大文",Age=23,Email="wdw@sohu.com" },
             new Person() {Name="趙曉紅",Age=33,Email="zxh@sohu.com" },
              new Person() {Name="田文靜",Age=45,Email="twj@sohu.com" }
        };
        //foreach (Person item in lists)
        //{
        //    textBox1.AppendText(item.Name+"\t");
        //    textBox1.AppendText(item.Age.ToString()+"\t");
        //    textBox1.AppendText(item.Email + "\r\n");
        //  //  textBox1.AppendText("\r\n");

        //}
        //textBox1.AppendText("\r\n");
        //IWorkbook wb = new HSSFWorkbook();
       
        //    //建立工作簿
        //                                         //建立工作表
        //    ISheet sheet = wb.CreateSheet("學生資訊表");
        
        //int rowIndex = 0;
        //foreach (Person item in lists)
        //{
        //    //建立一個行物件
        //    IRow row = sheet.CreateRow(rowIndex);
        //    rowIndex++;
        //    //將資料寫入cell中
        //    //首先建立cell物件
        //    row.CreateCell(0).SetCellValue(item.Name);
        //    row.CreateCell(1).SetCellValue(item.Age);
        //    row.CreateCell(2).SetCellValue(item.Email);
        //}
        將檔案寫入磁碟
        //using (FileStream fsWrite = File.OpenWrite("students.xls"))
        //{
        //    wb.Write(fsWrite);
        //}
        //wb.Close();
        //MessageBox.Show("檔案寫入成功");
        //                        // wb.Write()





    }

    private void button3_Click(object sender, EventArgs e)
    {
        textBox1.Clear();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        //excell表匯入到系統
        //1.將檔案匯入資料流
        using (FileStream fsRead = File.OpenRead("students.xls"))
        {
            1.建立一個工作簿\
            //IWorkbook wk = new HSSFWorkbook(fsRead);
            2.迴圈讀取工作表
            //foreach (ISheet item in wk)
            //{
            //    textBox1.AppendText("===="+item.SheetName+"===="+"\r\n");
            //    foreach (IRow row in item)
            //    {
            //        //3.獲取行中的每一個元素
            //        foreach (ICell cell in row)
            //        {
            //            //4.將元素輸出到文字中
            //            textBox1.AppendText(cell.ToString()+"\t");
            //        }
            //        textBox1.AppendText("\r\n");
            //    }
            //    textBox1.AppendText("\r\n");
            //}

            //2.使用for進行解析資料
            //2.1建立工作簿
            IWorkbook wk =new HSSFWorkbook(fsRead);
            //2.2在工作簿中遍歷工作表
            for (int i = 0; i < wk.NumberOfSheets; i++)
            {
                //2.3 新建表,然後將遍歷的表給將新建的表
                ISheet sheet = wk.GetSheetAt(i);
                //列印工作表的名稱
                textBox1.AppendText("========="+sheet.SheetName+"======================"+"\r\n");
                //2.4 對錶的遍歷
                for (int j = 0; j < sheet.LastRowNum+1; j++)
                {
                    //2.5 遍歷表中的元素
                    IRow row = sheet.GetRow(j);
                    if (row != null)
                    {

                        for (int k = 0; k < row.LastCellNum; k++)
                        {
                            ICell cell = row.GetCell(k);
                            if (cell != null)
                            {

              
                            textBox1.AppendText(cell.ToString()+"\t");
                            }
                        }
                        textBox1.AppendText("\r\n");
                    }

                }


                textBox1.AppendText("\r\n");
            }
        
        }

    }

相關文章