- 浏览: 725934 次
- 性别:
- 来自: 南宁
-
文章分类
最新评论
-
如果我爱上你的笑容:
牛腩老师讲的课很棒 目前新闻发系统学习中 `(*∩_∩*)′
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 635用.NET CORE做项目,VS里编译碰到‘。。。。包降级。 ... -
VS2017中建立ASP.NET MVC 4.0项目
2018-02-04 15:35 724新的项目需要运行在WIN2003上,又不想用ASPX了,只好 ... -
用sendcloud来发邮件
2018-02-04 12:25 451平时发验证码邮件都是用免费域名邮箱,但是有时一频繁发多了就发 ... -
asp.net 中用easyui中的treegird的简单使用
2018-02-02 11:22 373几乎每个‘数人头’项目中都会用到的功能,这里先记下来,以后直 ... -
sql server中调用c#写的dll里的方法
2018-01-12 22:05 411最近有一项目: 一超市管理系统单机版,运行在WIN20 ... -
ASP.NET MVC中切换模板页(不同目录的cshtml文件)
2017-12-26 20:42 764看来以后建立一个父类控制器还是有必要的。。。 usi ... -
微信公众号支付安卓和WP手机能支付,苹果手机支付不了的问题解决
2016-03-10 22:57 451花了几天时间,终于搞好了,代码是从官网上下的.NET DEMO ... -
VS2015预览版体验
2014-11-15 21:42 18597.NET开源了,JAVA颤抖吧 ... -
在一堆数中查询相加得某个数的组合
2012-01-17 16:03 1346如题,一个网友问的,我又去问其他的网友,再网上搜索,发贴问,最 ... -
asp.net中使用swfupload上传大文件
2012-01-12 15:44 4648花了一天多时间研究出来的,其实也就是网上下别人的代码然后 ... -
repeater控件在绑定的时候添加行号
2011-12-26 20:55 1408最好的方法当然就是在提取数据的时候连行号也一起取出来,SQL ... -
asp.net中使用MYSQL参数化的方法
2011-12-14 10:34 3376在做一个项目,ASP.NET操作MYSQL数据库的,使用参数化 ... -
去掉数字中多余的0(ASP.NET)
2011-11-16 15:08 1789有这样一个需求,见下图:具体的在ASP.NET中的实现代码如下 ... -
牛腩购物网
2011-02-12 14:11 1219牛腩购物网 最新出的视频,演示网站 http: ... -
AJAX顺序输出
2010-10-13 10:54 1345在安装大多数CMS的时候都会在安装界面上看到这样的一个效果: ... -
获取本周的周一和周日
2010-09-17 11:42 1593// 获取本周 ... -
ASP.NET弹出遮罩层示例
2010-08-03 20:31 4764从某收费项目中提取出来的,网上一高手写的JQUERY插件,作用 ... -
WebService简单示例
2010-08-03 20:30 1418记录一下,以备后用: using System; u ... -
ASP.NET中递归绑定DDL下拉控件
2010-08-03 20:26 1397做个记录,省得以后用到的时候都得再找以前写的代码,而且发现以前 ... -
刚刚找到的IP地址对应地区数据库
2010-06-15 15:35 2334项目原因,网上下载了 We7 CMS安装版,(想下载源 ...
相关推荐
在***中使用NPOI读取Excel模板并导出下载的详细过程涉及到多个知识点,包括对NPOI库的理解、Excel文件的读写操作、以及*** Web应用程序中的文件处理。下面将详细介绍这些内容。 ### 1. NPOI库简介 NPOI是一个开源的...
代码如下:using System;using System.Collections.Generic;.../// <summary>///ExcelClass 的摘要说明/// </summary>public class ExcelClass{ /// /// 构建ExcelClass类 /// public ExcelClass() {
ASP.NET 使用NPOI库导出Excel是一种常见的需求,它允许开发者创建和操作Excel文件,无需在服务器上安装Microsoft Office。NPOI是.NET平台上一个开源的读写Microsoft Office文件格式的库,包括Excel(HSSF和XSSF)和...
本项目“基于NPOI+ExcelReport实现的导入与导出EXCEL类库Asp.net源码”提供了一个高效且易于使用的解决方案,特别适用于ASP.NET应用程序。下面将详细介绍NPOI和ExcelReport这两个库以及它们如何协同工作。 **NPOI**...
本主题将深入探讨如何使用开源库NPOI在C#中实现Excel的导入和导出功能。NPOI是一个强大的API,允许开发者在不依赖Microsoft Office的情况下读写Excel文件,从而在Web应用或桌面应用中进行数据处理。 NPOI库最初是为...
标题 "c#.net excel的导入导出" 描述的是使用C#编程语言和.NET框架来处理Excel文件,实现数据在Excel和数据库之间的导入导出功能。这个项目可能包含了一个完整的解决方案,供开发者参考和学习。 在.NET环境中,C#...
在ASP.NET(C#)项目中,这类库通常用于读取、写入、修改或创建Excel工作簿,以实现数据导入导出等功能。以下是这个主题的一些关键知识点: 1. **C#与ASP.NET基础**: - C#是.NET Framework的主要编程语言,它提供...
本教程将指导新手如何使用C#和.NET框架,结合Npoi库从Oracle数据库中读取数据并将其导出到Excel文件。首先,你需要确保已经在项目中引用了Npoi库。你可以通过NuGet包管理器来安装Npoi,输入命令`Install-Package ...
ASP.NET 是一个强大的Web应用程序开发框架,由微软公司推出,用于构建动态网站、Web应用程序和服务。...通过学习和使用这些工具,开发者可以在ASP.NET应用程序中轻松地实现Excel数据的导入导出和各种复杂操作。
在.NET框架下,C#程序员通常使用不同的库来实现Excel文件的创建和导出。在标题和标签中提到的“C# 导出到Excel工具类”,指的是自定义的类库,用于处理数据到Excel的转换。这类工具类通常包含了各种方法,如`...
8. **ASP.NET数据报表**:"ASP.NET中使用Excel数据报表【自动创建DataTable】.zip"可能是关于如何在ASP.NET中创建动态数据报表的教程,利用DataTable和Excel功能生成动态的Excel文件。 9. **myxls**:"myxls-0.5.2-...
在.NET开发环境中,C#和ASP.NET经常被用于构建企业级Web应用程序,其中包括处理各种数据导入导出的需求。Excel作为广泛使用的电子表格软件,它的数据处理能力强大且易读易写,因此在业务系统中与Excel进行交互是常见...
技术点 ADO.Net技术应用、SQLServer、MD5安全算法、基于NPOI的Excel文件处理、树状结构数据处理、递归、CodeSmith、代码生成器、三层架构。 项目说明 这是一个用WinForm技术实现的系统,传智播客在开课的半个月就...
综合以上信息,这个压缩包提供的是一种使用C#和NPOI库实现的Excel导入导出功能,适用于那些需要在自己的ASP.NET项目中处理Excel数据的开发者。通过学习和使用这个模块,开发者可以了解如何读取和写入Excel文件,以及...
MyNPOI是 AaronYang(茗洋)基于开源Excel导出的组件NPOI二次封装,使得.net方向 Excel操作更加简单的一个类库。它不是重写NOPI,对NOPI的源码进行改写,这里保留NPOI的版权声明。最低框架使用.net framework4.0 ...
ExcelHelper 是一个在ASP.NET开发环境中用于方便地将数据从GridView控件导出到Excel的工作助手类库。这个工具能够帮助开发者快速实现网页表格数据的Excel格式化输出,让用户可以轻松下载并处理大量数据。 在ASP.NET...
《使用NPOI进行Excel导出的C#代码实践...在实际应用中,我们还可以结合其他技术,如Entity Framework进行数据库操作,或者使用ASP.NET MVC、ASP.NET Core等Web技术来构建服务器端导出服务,实现更复杂的数据导出场景。
NPOI是一个强大的.NET库,允许开发者在不依赖Microsoft Office的情况下读写Excel文件。下面将详细阐述这个知识点。 首先,C#是一种面向对象的编程语言,广泛应用于Windows平台的开发,包括ASP.NET Web应用程序。在...
本项目"**CSharp-Excel-master.zip**"显然关注的是C#与Excel的交互,利用NPOI库实现Excel数据的导入和导出功能。NPOI是一个强大的开源库,它允许开发者在.NET平台上读写Microsoft Office格式的文件,包括Excel。 **...