- 浏览: 699679 次
- 性别:
- 来自: 南宁
文章分类
最新评论
-
如果我爱上你的笑容:
牛腩老师讲的课很棒 目前新闻发系统学习中 `(*∩_∩*)′
64位win8.1系统安装intelhaxm -
k04110411:
jhlovett 写道牛哥,想问下 public void P ...
ASP.NET通过HTML的上传文件标签来上传文件 -
liuzhijie3:
我也留个脚印用到了,讲的不错
.NET中获取字符串的MD5码 -
han_yankun2009:
,楠老师不错呀
在一堆数中查询相加得某个数的组合 -
allstara609:
请问牛老师,datalist中如何去掉数字中多余的0?
去掉数字中多余的0(ASP.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; } }
发表评论
-
用.NET CORE做项目,VS里编译碰到‘。。。。包降级。。。。’错误
2018-07-02 18:00 589用.NET CORE做项目,VS里编译碰到‘。。。。包降级。 ... -
VS2017中建立ASP.NET MVC 4.0项目
2018-02-04 15:35 666新的项目需要运行在WIN2003上,又不想用ASPX了,只好 ... -
用sendcloud来发邮件
2018-02-04 12:25 398平时发验证码邮件都是用免费域名邮箱,但是有时一频繁发多了就发 ... -
asp.net 中用easyui中的treegird的简单使用
2018-02-02 11:22 330几乎每个‘数人头’项目中都会用到的功能,这里先记下来,以后直 ... -
sql server中调用c#写的dll里的方法
2018-01-12 22:05 349最近有一项目: 一超市管理系统单机版,运行在WIN20 ... -
ASP.NET MVC中切换模板页(不同目录的cshtml文件)
2017-12-26 20:42 719看来以后建立一个父类控制器还是有必要的。。。 usi ... -
微信公众号支付安卓和WP手机能支付,苹果手机支付不了的问题解决
2016-03-10 22:57 410花了几天时间,终于搞好了,代码是从官网上下的.NET DEMO ... -
VS2015预览版体验
2014-11-15 21:42 18549.NET开源了,JAVA颤抖吧 ... -
在一堆数中查询相加得某个数的组合
2012-01-17 16:03 1284如题,一个网友问的,我又去问其他的网友,再网上搜索,发贴问,最 ... -
asp.net中使用swfupload上传大文件
2012-01-12 15:44 4577花了一天多时间研究出来的,其实也就是网上下别人的代码然后 ... -
repeater控件在绑定的时候添加行号
2011-12-26 20:55 1332最好的方法当然就是在提取数据的时候连行号也一起取出来,SQL ... -
asp.net中使用MYSQL参数化的方法
2011-12-14 10:34 3326在做一个项目,ASP.NET操作MYSQL数据库的,使用参数化 ... -
去掉数字中多余的0(ASP.NET)
2011-11-16 15:08 1675有这样一个需求,见下图:具体的在ASP.NET中的实现代码如下 ... -
牛腩购物网
2011-02-12 14:11 1219牛腩购物网 最新出的视频,演示网站 http: ... -
AJAX顺序输出
2010-10-13 10:54 1292在安装大多数CMS的时候都会在安装界面上看到这样的一个效果: ... -
获取本周的周一和周日
2010-09-17 11:42 1545// 获取本周 ... -
ASP.NET弹出遮罩层示例
2010-08-03 20:31 4715从某收费项目中提取出来的,网上一高手写的JQUERY插件,作用 ... -
WebService简单示例
2010-08-03 20:30 1358记录一下,以备后用: using System; u ... -
ASP.NET中递归绑定DDL下拉控件
2010-08-03 20:26 1352做个记录,省得以后用到的时候都得再找以前写的代码,而且发现以前 ... -
刚刚找到的IP地址对应地区数据库
2010-06-15 15:35 2285项目原因,网上下载了 We7 CMS安装版,(想下载源 ...
相关推荐
【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源文件,自己整理的,非常好用,良心上传