好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

NPOI 读写excel

NPOI 读写excel

现在的项目需要导出和导入excel,为了简单的导入导出去用一套收费的office组件对于项目不能接受,幸好找到了NPOI这个简单开源的excel读写组件。

NPOI官网:http://npoi.codeplex.com/

1.简单读取excel数据到datatable

 FileStream file = new FileStream(Server.MapPath(@"TemFiles\tem.xls"), FileMode.Open, FileAccess.Read); 

// 根据路径通过已存在的excel来创建HSSFWorkbook,即整个excel文档 HSSFWorkbook workbook = new HSSFWorkbook( file ); // 获取excel的第一个sheet HSSFSheet sheet = workbook.GetSheetAt( 0 ); DataTable table = new DataTable(); // 获取sheet的首行 HSSFRow headerRow = sheet.GetRow( 0 ); // 一行最后一个方格的编号 即总的列数 int cellCount = headerRow.LastCellNum; for ( int i = headerRow.FirstCellNum; i < cellCount; i++ ) { DataColumn column = new DataColumn(headerRow.GetCell(i).StringCellValue); table.Columns.Add(column); } // 最后一列的标号 即总的行数 int rowCount = sheet.LastRowNum; for ( int i = (sheet.FirstRowNum + 1 ); i < sheet.LastRowNum; i++ ) { HSSFRow row = sheet.GetRow(i);
        if (row== null ) //这一句很关键,因为没有数据的行默认是null
       {
        continue;
        }
DataRow dataRow = table.NewRow(); for ( int j = row.FirstCellNum; j < cellCount; j++ ) { if (row.GetCell(j) != null )//同理,没有数据的单元格都默认是null dataRow[j] = row.GetCell(j).ToString(); } table.Rows.Add(dataRow); } workbook = null ; sheet = null ;

2.写入数据到excel

  FileStream file = new FileStream(Server.MapPath(@"TemFiles\tem.xls"), FileMode.Open, FileAccess.Read); 

// 根据路径通过已存在的excel来创建HSSFWorkbook,即整个excel文档 HSSFWorkbook workbook = new HSSFWorkbook( file );

HSSFSheet sheet1  = workbook .CreateSheet( " Sheet1 " ); HSSFRow row1 =sheet1.CreateRow( 0 );    //行建好了,就可以建单元格了,比如创建A1位置的单元格: row1.CreateCell( 0 ).SetCellValue( 1 );    //SetCellValue有好几种重载 //你可以设置单元格为bool、 double 、DateTime、string和HSSFRichTextString类型。 //其中对于string类型的重载调用的就是HSSFRichTextString类型的重载,所以是一样的, //HSSFRichTextString可用于有字体或者Unicode的文本。 sheet1.CreateRow( 0 ).CreateCell( 0 ).SetCellValue( " This is a Sample " ); sheet1.GetRow( 0 ).CreateCell( 0 ).SetCellValue( " This is a Sample " );

npoi在下载时会附带很多的sample,习惯上也和office组件没有太大的区别,用起来还是很方便的

 

 

 

标签:  EXCEL操作

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于NPOI 读写excel的详细内容...

  阅读:63次