zoukankan      html  css  js  c++  java
  • NPOI用WorkbookFactory读写 2007以上格式文件(xlsx)

    //我用的最新的2.2.1版本

    //第一步:引用DLL,5个全导入,包括ICSHARP.ZIP,是个开源压缩工具包。XLSX是压缩格式,需要它来解压

    //第二部:

    using NPOI.SS.UserModel;

    //够了

    //第三部:用IWorkbook 接口,+WorkbookFactory类

    //第四步:读取xlsx文件内容

    StringBuilder sb = new StringBuilder();
    using (FileStream fs = new FileStream(@"D:	emp	emp.xlsx", FileMode.Open, FileAccess.Read))
    {
    IWorkbook sswb = WorkbookFactory.Create(fs);
    for(int i=0;i<sswb.NumberOfSheets;i++)
    {
    sb.Append("
    
    "+sswb.GetSheetName(i)+"
    ");
    
    ISheet sh = sswb.GetSheetAt(i);
    for (int j = 0; j < sh.LastRowNum; j++)
    {
    IRow row = sh.GetRow(j);//读取当前行
    if(row!=null)
    {
    sb.Append("
    ----------------line"+j.ToString()+"--------------------------
    ");
    for (int k = 0; k < row.LastCellNum; k++)
    {
    ICell cell = row.GetCell(k);
    if(cell!=null)
    {
    sb.Append(cell.ToString()+"|");
    }
    }
    }
    }
    }
    }
    textBox1.Text = sb.ToString();
    

      

    //第五步:写入xlsx文件

    string file = @"D:	emp	est.xlsx";
    IWorkbook wb = null; 
    using (FileStream fs = File.Open(file, FileMode.Open, FileAccess.Read,FileShare.Read))
    {
    wb = WorkbookFactory.Create(fs);
    fs.Close();
    }
    ISheet sh = wb.GetSheetAt(0);
    IRow row = sh.CreateRow(8);
    ICell cell = row.CreateCell(0);
    cell.SetCellValue(1);
    using (FileStream fs = File.Open(file, FileMode.OpenOrCreate, FileAccess.ReadWrite))
    { 
    wb.Write(fs);
    fs.Close();
    }
    System.Diagnostics.Process.Start(Path.GetFullPath(file));
    

      

    编译,运行不会有错误提示,如愿生成了

    D:	emp	est.xlsx

    但生成的文件打不开,提示“发现不可读取内容, xxxOOO..."

    那么解决办法是......

    答案是:等待下一个版本吧!NPOI还不支持xlsx格式的输出,读取是没有问题的。

    对不起,我承认,我标题党了,:),NPOI还不支持XLSX文件输出。

  • 相关阅读:
    ACCESS中默认值要填双引号
    错误一直找不到
    员工自行车的摆放处
    连接占线导致另一个hstmt
    去裕利面试
    路上又一见闻
    企业的形象
    骏泰面试感觉
    IE 标点符号输入不顺的原因
    C Primer Plus(十七)
  • 原文地址:https://www.cnblogs.com/ccjungle/p/6994225.html
Copyright © 2011-2022 走看看