要看你用的npoi版本是什么~~试试这样写~
using (FileStream file = new FileStream(strFileName, FileMode.Open, FileAccess.Read))
            {
                wk= new HSSFWorkbook(file);
            }

解决方案 »

  1.   

    经过测试,代码没问题,能读取XLS文件,写到txt文件中,会不会是你的xls有问题,
    代码你放在winform里测试一下
      

  2.   


    我到控制台 输出  没有玩过 winform     刚刚学习c# 
      

  3.   


    我到控制台 输出  没有玩过 winform     刚刚学习c# 
    建立新项目,选窗体应用程序,放一个button控件,双击后放你的上述代码,
      

  4.   


    我到控制台 输出  没有玩过 winform     刚刚学习c# 
    建立新项目,选窗体应用程序,放一个button控件,双击后放你的上述代码,怎么一运行就报错 能把你的测试 文件打包 给我参考下吗?
      

  5.   


    我到控制台 输出  没有玩过 winform     刚刚学习c# 
    建立新项目,选窗体应用程序,放一个button控件,双击后放你的上述代码,怎么一运行就报错 能把你的测试 文件打包 给我参考下吗?
    什么错误?
      

  6.   


    我到控制台 输出  没有玩过 winform     刚刚学习c# 
    建立新项目,选窗体应用程序,放一个button控件,双击后放你的上述代码,怎么一运行就报错 能把你的测试 文件打包 给我参考下吗?
    什么错误?
      

  7.   


    就用你这个代码,路径中"/"换成"\"() 
     private void button1_Click(object sender, EventArgs e)
              {
                  
                  StringBuilder sbr = new StringBuilder();
                  using (FileStream fs = File.OpenRead(@"e:\CO242.xls"))   //打开myxls.xls文件
                  {
                      
                      HSSFWorkbook wk = new HSSFWorkbook(fs);   //把xls文件中的数据写入wk中
                      for (int i = 0; i < wk.NumberOfSheets; i++)  //NumberOfSheets是myxls.xls中总共的表数
                      {
                          ISheet sheet = wk.GetSheetAt(i);   //读取当前表数据
                          for (int j = 0; j <= sheet.LastRowNum; j++)  //LastRowNum 是当前表的总行数
                          {
                              IRow row = sheet.GetRow(j);  //读取当前行数据
                              if (row != null)
                              {
                                  sbr.Append("-------------------------------------\r\n"); //读取行与行之间的提示界限
                                  for (int k = 0; k <= row.LastCellNum; k++)  //LastCellNum 是当前行的总列数
                                  {
                                      ICell cell = row.GetCell(k);  //当前表格
                                      if (cell != null)
                                      {
                                          sbr.Append(cell.ToString());   //获取表格中的数据并转换为字符串类型
                                      }
                                  }
                              }
                          }
                      }
                  }
                  sbr.ToString();
                  using (StreamWriter wr = new StreamWriter(new FileStream(@"c:\myText.txt", FileMode.Append)))  //把读取xls文件的数据写入myText.txt文件中
                  {
                      wr.Write(sbr.ToString());
                      wr.Flush();
                  }
              }