//我用的最新的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:\temp\temp.xlsx", FileMode.Open, FileAccess.Read))
{
IWorkbook sswb = WorkbookFactory.Create(fs);
for(int i=0;i<sswb.NumberOfSheets;i++)
{
sb.Append("\r\n\r\n"+sswb.GetSheetName(i)+"\r\n"); ISheet sh = sswb.GetSheetAt(i);
for (int j = 0; j < sh.LastRowNum; j++)
{
IRow row = sh.GetRow(j);//读取当前行
if(row!=null)
{
sb.Append("\r\n----------------line"+j.ToString()+"--------------------------\r\n");
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:\temp\test.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:\temp\test.xlsx

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

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

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

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

NPOI用WorkbookFactory读写 2007以上格式文件(xlsx)的更多相关文章

  1. asp.net NPOI导出xlsx格式文件,打开文件报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”

    NPOI导出xlsx格式文件,会出现如下情况: 点击“是”: 导出代码如下: /// <summary> /// 将datatable数据写入excel并下载 /// </summa ...

  2. JAVA用geotools读写shape格式文件

    转自:http://toplchx.iteye.com/blog/1335007 JAVA用geotools读写shape格式文件 (对应geotools版本:2.7.2) (后面添加对应geotoo ...

  3. SpringBatch Sample (四)(固定长格式文件读写)

    前篇关于Spring Batch的文章,讲述了Spring Batch 对XML文件的读写操作. 本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对固定长格式文件的读写操作.实例延 ...

  4. 使用Spark读写CSV格式文件(转)

    原文链接:使用Spark读写CSV格式文件 CSV格式的文件也称为逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号.在本文中的CSV格 ...

  5. 2013xlsm格式文件处理

    2013xlsm格式文件处理 2013格式的xlsm文件在低版本打开为空白的处理 1.关闭2013的宏2.打开文件,另存(去打开密码)3.2007打开另存(格式已变为2007)4.仅破解VBA密码5. ...

  6. [OSG][转]osg格式文件

    转自:http://blog.csdn.net/timothyfly/article/details/7826139 osg格式文件中如何处理多个节点共享一个子节点 下面一段程序中,共有三个Group ...

  7. (转载)DBGridEh导出Excel等格式文件

    DBGridEh导出Excel等格式文件 uses DBGridEhImpExp; {--------------------------------------------------------- ...

  8. RTF格式文件浅析

    ps:这两天在分析从微软的word复制一个绕排环绕的表格到openoffice的writer中去的bug,需要了解RTF... RTF是Rich TextFormat的缩写,意即多文本格式.这是一种类 ...

  9. python之文件的读写和文件目录以及文件夹的操作实现代码

    这篇文章主要介绍了python之文件的读写和文件目录以及文件夹的操作实现代码,需要的朋友可以参考下 为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用 ...

随机推荐

  1. Android笔记之启动界面的设置

    默认情况下,启动界面是白屏 我们自定义一个启动界面如下,3秒钟后进入主界面并结束启动页 SplashActivity.java package com.bu_ish.myapp; import and ...

  2. Go语言string,int,int64 ,float之间类型转换方法

    (1)int转string ? 1 2 s := strconv.Itoa(i) 等价于s := strconv.FormatInt(int64(i), 10) (2)int64转string ? 1 ...

  3. jquery特效(2)—选项卡

    最近公司有个页面正好用到了选项卡,我就写了一下,感觉还不错,都挺简单的. 下面来看动态效果: 一.主体程序 <!DOCTYPE html> <html> <head> ...

  4. scroll或是其子类被添加进view时,界面自动上移

    开发中经常会遇到ViewController添加scroll或是其子类被添加进controller.view时,scroll会自动下移大概64像素 解决: self.edgesForExtendedL ...

  5. runtime之实现对象序列化

    /* iOS序列化,将对象转成二进制,保存到本地 */ 定义一个对象,让它实现NSCoding协议,保证对象的编码和解码,person有三个属性 @interface Person : NSObjec ...

  6. ansible 自动ssh

    http://szgb2016.blog.51cto.com/340201/1669731 安装 yum -y install ansible expect 生成key,ssh-keygen -t r ...

  7. Java 线程转储

    软件维护是一个枯燥而又有挑战性的工作.只要软件功能符合预期,那么这个工作就是好的.设想一个这样的情景,你的电话半夜也一直在响(这不是一个令人愉快的感受,是吧?)任何软件系统,无论它当初是被设计的多好, ...

  8. windows下使用emacs+plink远程编辑erlang文件

    1)plink.exe属于putty套件, 注册到环境变量;emacs的bin目录也要注册到环境变量中; 2)在.emacs中增加如下: (require 'tramp)(setq tramp-def ...

  9. Rsync+Inotify同步

    rsync服务安装与<rsync+sersync同步>环境一样! 安装inotify-tools 在源服务器10.10.2.191上操作: 1.查看服务器内核是否支持inotify ll ...

  10. centos 安装配置kettle

    安装JDK1.8: step1 下载JDK1.8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...