C#使用NPOI初步读写EXCEL表格小经验

  NPOI操作excel表格实在方便,原来并没有尝试过这样的操作,今天工作需要,就学习了一些皮毛,初步地读写和使用,相信还是够的。

  首先,必不可少的就是引用,把npoi引用到工程中

      

  这是我的引用NPOI的部分。

 

 

  想要操作一个excel文件,首先我们必须要做的就是获取它的文件路径。

  我是使用控件,打开选择文件的界面去寻找文件,并输出文件的绝对路径。代码如下

/**********************************************************************************************************/

  private void browsebutton_Click(object sender, EventArgs e)
  {
    OpenFileDialog dialog = new OpenFileDialog();
    dialog.Filter = "xls文件|*.xls";
    if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
      textBox_src.Text = dialog.FileName;
    }
  }

  其中textbox_src是我的文本框控件,将获得的文件路径填入。

 /**********************************************************************************************************/

  有了文件路径,我们就可以打开它

 /**********************************************************************************************************/

  FileStream fs = null;

  IWorkbook workbook = null;

  ISheet sheet = null;
  IRow row = null;
  ICell cell = null;

  using (fs = File.OpenRead(textBox_src.Text.Trim().ToString()))

  {

    // 2007版本
    if (textBox_src.Text.IndexOf(".xlsx") > 0)
      workbook = new XSSFWorkbook(fs);
    // 2003版本
    else if (textBox_src.Text.IndexOf(".xls") > 0)
      workbook = new HSSFWorkbook(fs);

  }

 /**********************************************************************************************************/

  有了以上的铺垫之后,我们就可以开始读取excel表格里面的数据

 /**********************************************************************************************************/

  sheet = workbook.GetSheetAt(0);  //表示目前正在查看表格第一页

  int rowCount = sheet.LastRowNum;//获取当前页的总行数

  row = sheet.GetRow(i); //聚焦在第0页的第i行

        cell = row.GetCell(j);  //聚焦在第0页的第i行的第j列

 /**********************************************************************************************************/

  有了以上的四行代码之后,我们就可以任意地聚焦在excel表格中的某个格子上,并读取其中的数据,而把数据读成成什么类型,就看我们的需要了,我这里是

  读成string类型

  string a = cell.StringCellValue;

 

(人生中第一次写,纪念一下!)

posted @ 2020-03-27 11:27  人定剩舔  阅读(202)  评论(0)    收藏  举报