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:\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));

//对不起大家,我撒谎了,NPOI不支持XLSX文件输出。

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

时间: 2024-10-03 11:24:09

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

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

前篇关于Spring Batch的文章,讲述了Spring Batch 对XML文件的读写操作. 本文将通过一个完整的实例,与大家一起讨论运用Spring Batch对固定长格式文件的读写操作.实例延续前面的例子,读取一个含有四个字段的TXT文件(ID,Name,Age,Score),对读取的字段做简单的处理,然后输出到另外一个TXT文件中. 工程结构如下图: applicationContext.xml和log4j.xml前文已经叙述过,在此不做赘述. 本文核心配置文件batch.xml内容如

Python怎么读写json格式文件

JSON-是一个轻量级的数据交换格式.点击打开百度百科 JSON维基百科:http://zh.wikipedia.org/wiki/JSON json模块 关于json的官方文档:点击打开链接 本文由@The_Third_Wave(Blog地址:http://blog.csdn.net/zhanh1218)原创.不定期更新,有错误请指正. Sina微博关注:@The_Third_Wave 如果这篇博文对您有帮助,为了好的网络环境,不建议转载,建议收藏!如果您一定要转载,请带上后缀和本文地址. d

JAVA用geotools读写shape格式文件

转自:http://toplchx.iteye.com/blog/1335007 JAVA用geotools读写shape格式文件 (对应geotools版本:2.7.2) (后面添加对应geotools 10.0版本的写法) 读shape文件. shape格式文件最少包含3个文件,他们的后缀是:.shp, .dbf, .shx. .shp存储地理形状和位置信息,.dbf存储属性信息,.shx是索引文件. 单独读取DBF文件 public void readDBF(String path) {

读写UTF-8、Unicode文件(加上了文件头,貌似挺好用)

conf配置文件一些为UTF-8和Unicode格式,这样便可良好的支持多语言,从网上查阅资料后,将读写UTF-8.Unicode文件写了几个最精简的函数,更新后加了是否写文件头的功能,以适应更多需要,注意函数未加防错保护. 参数说明:f文件名.s写入或读取的文件内容.hs文件头.b是否读写文件头. UTF-8文件写入函数 代码 procedure SaveUTF(f:string;s:string;b:boolean=true);var  ms:TMemoryStream;  hs:Strin

能在CAD2004以下版本里面打开2007以上版本文件的外挂

能在CAD2004以下版本里面打开2007以上版本文件的外挂 下载地址:http://yunpan.cn/cjrxMKNubXQ5E  访问密码 1974 老何CAD工具安装办法:[推荐]先安装老何工具箱,然后用[扩展添加老何cad下拉菜单.bat]就完成老何下拉菜单的安装.把laohecadtool.mns拷贝到"C:\Program Files\AutoCAD 2004\support",在CAD中用menuload加载"C:\Program Files\AutoCAD

[Unity3D] 关于txt,xml,json文件的读写,及外部文件(夹)的创建

转载自贴吧:http://tieba.baidu.com/p/2825006787 一.关于txt纯文本的读写 其实.txt,.xml,.json这类文件都属于文本文件,类似的还有.lrc歌词文件,.ini配置文件,.reg注册表文件等等,这类文件所储存的内容都是文本,只是各自有它们自己的格式,便于某些时候专用识别,所以读取txt文本是最基础的文本解析. 静态内部读取txt文本: 这是最简单的方式,建立TextAsset,直接把文本文件拖上去,就可以用了,public TextAsset Txt

[C/C++标准库]_[读写中文路径的文件--写入unicode字符串]

场景: 1. 需要写入非ascii文本并且与本地编码无关时,除了utf8,unicode编码是另外一个选择,它的好处是占两个字节,便于统计字符和对字符进行处理,因为有对应的宽字节的函数,如wcslen. 2.需要注意的亮点,要先写入0xff,0xfe文件头,之后使用fwprintf时用%S(大写)格式写入宽字节字符串. 3.使用_wfopen支持中文路径. 代码1: #include <stdio.h> #include <stdint.h> #include <stdlib

关于JXL读写以及修改EXCEL文件&lt;转&gt;

首先引用网上的文章,谈谈JXL与POI的区别 POI为apache公司的一个子项目,主要是提供一组操作windows文档的Java API. Java Excel俗称jxl是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表.因为是使用Java编写的,所以我们在Web应用中可以通过JSP.Servlet来调用API实现对Excel数据表的访问.

python里读写excel等数据文件的几种常用方式

python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv.txt等).excel文件.数据库文件.api等. 下面整理下python有哪些方式可以读取数据文件. 1. python内置方法(read.readline.readlines) read() : 一次性读取整个文件内容.推荐使用read(size)方法,size越大运行时间越长 readline() :每次读取一行内容.内存不够时使用,一般不太用 readlines() :一次性读取整个文件内容,并按行返回到lis