- 浏览: 49282 次
- 性别:
- 来自: 襄樊
最新评论
-
670777516:
求整洁代码
JS实现图片轮换效果 -
670777516:
...楼主 能不能搞个完整代码啊 挤在一起看了晕啊
JS实现图片轮换效果 -
supersnake:
下载完成 解压成功
感谢提供资源下载
最近被转做.N ...
ASP.NET 3.5 开发大全DOC版
文章分类:.net编程
/* * 作者: 牛腩 * 创建时间: 2010-1-4 15:15:05 * Email: 164423073@qq.com * 说明: 导出EXCEL的类,使用说明见:http://msdn.microsoft.com/zh-tw/ee818993.aspx */ using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Web; using NPOI; using NPOI.HPSF; using NPOI.HSSF; using NPOI.HSSF.UserModel; using NPOI.POIFS; using NPOI.Util; public class DataTableRenderToExcel { public static Stream RenderDataTableToExcel(DataTable SourceTable) { HSSFWorkbook workbook = new HSSFWorkbook(); MemoryStream ms = new MemoryStream(); HSSFSheet sheet = workbook.CreateSheet(); HSSFRow headerRow = sheet.CreateRow(0); // handling header. foreach (DataColumn column in SourceTable.Columns) headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName); // handling value. int rowIndex = 1; foreach (DataRow row in SourceTable.Rows) { HSSFRow dataRow = sheet.CreateRow(rowIndex); foreach (DataColumn column in SourceTable.Columns) { dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString()); } rowIndex++; } workbook.Write(ms); ms.Flush(); ms.Position = 0; sheet = null; headerRow = null; workbook = null; return ms; } public static void RenderDataTableToExcel(DataTable SourceTable, string FileName) { MemoryStream ms = RenderDataTableToExcel(SourceTable) as MemoryStream; FileStream fs = new FileStream(FileName, FileMode.Create, FileAccess.Write); byte[] data = ms.ToArray(); fs.Write(data, 0, data.Length); fs.Flush(); fs.Close(); data = null; ms = null; fs = null; } public static DataTable RenderDataTableFromExcel(Stream ExcelFileStream, string SheetName, int HeaderRowIndex) { HSSFWorkbook workbook = new HSSFWorkbook(ExcelFileStream); HSSFSheet sheet = workbook.GetSheet(SheetName); DataTable table = new DataTable(); HSSFRow headerRow = sheet.GetRow(HeaderRowIndex); 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); DataRow dataRow = table.NewRow(); for (int j = row.FirstCellNum; j < cellCount; j++) dataRow[j] = row.GetCell(j).ToString(); } ExcelFileStream.Close(); workbook = null; sheet = null; return table; } public static DataTable RenderDataTableFromExcel(Stream ExcelFileStream, int SheetIndex, int HeaderRowIndex) { HSSFWorkbook workbook = new HSSFWorkbook(ExcelFileStream); HSSFSheet sheet = workbook.GetSheetAt(SheetIndex); DataTable table = new DataTable(); HSSFRow headerRow = sheet.GetRow(HeaderRowIndex); 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); DataRow dataRow = table.NewRow(); for (int j = row.FirstCellNum; j < cellCount; j++) { if (row.GetCell(j) != null) dataRow[j] = row.GetCell(j).ToString(); } table.Rows.Add(dataRow); } ExcelFileStream.Close(); workbook = null; sheet = null; return table; } /// <summary>读取excel /// 默认第一行为标头 /// </summary> /// <param name="path">excel文档路径</param> /// <returns></returns> public static DataTable RenderDataTableFromExcel(string path) { DataTable dt = new DataTable(); HSSFWorkbook hssfworkbook; using (FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read)) { hssfworkbook = new HSSFWorkbook(file); } HSSFSheet sheet = hssfworkbook.GetSheetAt(0); System.Collections.IEnumerator rows = sheet.GetRowEnumerator(); HSSFRow headerRow = sheet.GetRow(0); int cellCount = headerRow.LastCellNum; for (int j = 0; j < cellCount; j++) { HSSFCell cell = headerRow.GetCell(j); dt.Columns.Add(cell.ToString()); } for (int i = (sheet.FirstRowNum + 1); i <= sheet.LastRowNum; i++) { HSSFRow row = sheet.GetRow(i); DataRow dataRow = dt.NewRow(); for (int j = row.FirstCellNum; j < cellCount; j++) { if (row.GetCell(j) != null) dataRow[j] = row.GetCell(j).ToString(); } dt.Rows.Add(dataRow); } //while (rows.MoveNext()) //{ // HSSFRow row = (HSSFRow)rows.Current; // DataRow dr = dt.NewRow(); // for (int i = 0; i < row.LastCellNum; i++) // { // HSSFCell cell = row.GetCell(i); // if (cell == null) // { // dr[i] = null; // } // else // { // dr[i] = cell.ToString(); // } // } // dt.Rows.Add(dr); //} return dt; } }
发表评论
-
ASP.NET中读取excel内容,并显示在界面上
2010-07-10 08:34 1972项目中经常会用到把excel的文件内容导入到数据库中的,刚刚花 ... -
刚刚找到的IP地址对应地区数据库
2010-07-10 08:09 14832010-06-15 文章分类:Web前端 ... -
使用javascript通过className来获取元素
2010-07-10 08:01 902//原理: 用document.getElemen ... -
ASP.NET中过滤HTML字符串的两个方法
2010-06-09 10:30 9712010-05-20 文章分类:.net编程 ... -
符合WEB标准的浮动层(jQuery版)!
2010-06-09 10:13 9292008-10-26 文章分类:Web前端 关键 ... -
jQuery实战(四) - tab菜单
2010-06-09 10:00 7612008-11-19 文章分类:Web前端 ... -
JS实现图片轮换效果
2010-06-09 09:50 9982009-01-03 文章分类:Web ... -
JQuery控制图片无缝滚动
2010-06-09 09:44 15222009-05-10 经常有人问怎么在H ... -
jQuery插件—获取URL参数
2010-06-09 09:42 15172009-06-20 做的项目中需要用到通过 ... -
.NET中获取字符串的MD5码
2010-06-09 07:36 8502008-11-02 ① 导入命名空间: ... -
通过密钥对字符串进行加解密(C#)
2010-06-05 09:17 8072009-07-07 视频上看到的例子,对着视频 ... -
数字金额转为大写金额(C#)
2010-06-05 09:13 11832009-07-07 看视频的时候看到视频里有讲 ... -
对int数组进行从大到小的排序,并去除重复项
2010-06-05 09:10 8892009-07-09 ... -
有关javascript模态窗口的使用
2010-06-05 09:00 9942009-07-17 在web页面中需要弹出一些 ... -
VS2008修改自定义模板
2010-06-05 08:58 6422009-07-21 我们开发的时候习惯在代 ... -
框架frame自适应内容高度
2010-06-05 08:45 11422009-07-31 关键字: 框架,自适应, ... -
通过文件名检测文件是否存在于某文件夹中
2010-06-05 08:37 9702009-08-06 从太平洋采集了7万多条 ... -
jquery访中关村商城排行榜特效
2010-06-05 08:30 7472009-08-08 目前公司的网站上要用 ... -
中关村商城广告切换纯净代码
2010-06-05 08:25 5422009-08-08 效果如图: 原以为用fir ... -
javascript倒计时
2010-06-05 08:20 12522009-08-13 以前做的JSP青鸟论坛 ...
相关推荐
【ASP.NET编程知识】Asp.Net使用Npoi导入导出Excel的方法.docx
简单,易懂的ASP.NET Core NPOI导出复杂Word、Excel和Excel数据导入示例讲解
主要介绍了asp.net使用npoi读取excel模板并导出下载的示例,大家参考使用吧
ASP.NET使用NPOI导出数据库到Excel文件,简单方便, 无需Office COM组件且不依赖Office
asp.net中用于导出excel需要的NPOI.dll 使用方法见博客地址:http://blog.csdn.net/zdw_wym/article/details/46741957
ASP.Net MVC NPOI导入导出 数据库,适合新手学习,相应代码有注释。
适用于asp.net MVC中导出Excel,程序使用NPOI,并以内存流的方式提交到界面上,点击下载Excel。
主要介绍了Asp.Net使用Npoi导入导出Excel的方法,采用该方法在导出Excel的时候不需要office组件的支持,而在导入Excel的时候采用OleDb的方式,需要office组件的支持。是一个非常实用的技巧,需要的朋友可以参考下
附带完整案例可以直接利用NPOI类库导出excel文件
C# .net 利用Npoi将Excel转Pdf(完整代码)。 blog: https://blog.csdn.net/xjzdr/article/details/121287537
ASP.Net MVC利用NPOI导入Excel(看评论酌情下载)
asp.net 利用NPOI操作Excel
基于NPOI类库执行Excel导入,服务器不需要安装Excel
NPOI基于模板导出到excel, 支持excel2007以上版本和2003以下版本
采用NPOI写的EXCEL文件导出,导出的数据基于DataTable
asp.net 利用Npoi脱离Office导入导出Excel,包含引用、帮助类、测试页面
.net mvc npoi 导出excel,此代码仅供个人爱好,如商用请购买商用版,如商用涉及版权问题本人概不负责。请支持正版,反对盗版。
本文介绍了ASP.NET基于NPOI控件将数据导出Excel表中数据以及导入Excel数据到数据库。优点:导出几万条数据几秒钟就可以完成。
NPOI导入导出Excel源文件,自己整理的,非常好用,良心上传