npoi导出execl源码,vs2008实现,包括using库

该链接有导入,导出源码,我的代码有下链接改写,完善而成的,

http://www.cnblogs.com/colder/p/3611906.html

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;
using System.IO;
using System.Data;
using NPOI;
using NPOI.HPSF;
using NPOI.HSSF;
using NPOI.HSSF.UserModel;
using NPOI.POIFS;
using NPOI.Util;
using NPOI.HSSF.Util;
using NPOI.HSSF.Extractor;
using NPOI.SS.UserModel;
using System.Web.UI.HtmlControls;

private void to_excel()
{
HSSFWorkbook workbook = new HSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");
MemoryStream ms = new MemoryStream();

ICellStyle HeadercellStyle = workbook.CreateCellStyle();
HeadercellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
HeadercellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
HeadercellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
HeadercellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
HeadercellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
//字体
NPOI.SS.UserModel.IFont headerfont = workbook.CreateFont();
headerfont.Boldweight = (short)FontBoldWeight.Bold;
HeadercellStyle.SetFont(headerfont);

//用column name 作为列名
string[] temArr = { "帐号", "子帐号", "客户经理号(8位)", "开户日期(YYYYMMDD)" };
List<string> headlist = new List<string>(temArr);
int icolIndex = 0;
IRow headerRow = sheet.CreateRow(0);
foreach (var item in headlist)
{
ICell cell = headerRow.CreateCell(icolIndex);
cell.SetCellValue(item);
cell.CellStyle = HeadercellStyle;
icolIndex++;
}

ICellStyle cellStyle = workbook.CreateCellStyle();

//为避免日期格式被Excel自动替换,所以设定 format 为 『@』 表示一率当成text來看
cellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("@");
cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;

NPOI.SS.UserModel.IFont cellfont = workbook.CreateFont();
cellfont.Boldweight = (short)FontBoldWeight.Normal;
cellStyle.SetFont(cellfont);

//建立内容行
TMSDataContext dc = new TMSDataContext();

var lctlist = dc.wd_lct_dq_import.ToList();
int iRowIndex = 1;
//int iCellIndex = 0;
foreach (var lct in lctlist)
{
IRow DataRow = sheet.CreateRow(iRowIndex);

//第1列 账号
ICell cell = DataRow.CreateCell(0);
cell.SetCellValue(lct.zh);
cell.CellStyle = cellStyle;
//第2列 子账号
cell = DataRow.CreateCell(1);
cell.SetCellValue(lct.zh_sub);
cell.CellStyle = cellStyle;
//第3列 客户经理号
cell = DataRow.CreateCell(2);
cell.SetCellValue(lct.emp_lch);
cell.CellStyle = cellStyle;
//第4列 开户日期
cell = DataRow.CreateCell(3);
cell.SetCellValue(lct.kh_rq);
cell.CellStyle = cellStyle;

iRowIndex++;
}

//自适应列宽度
for (int i = 0; i < icolIndex; i++)
{
sheet.AutoSizeColumn(i);
}
workbook.Write(ms);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename=EmptyWorkbook.xls"));
Response.BinaryWrite(ms.ToArray());

workbook = null;
ms.Close();
ms.Dispose();

}

时间: 2024-10-30 06:45:42

npoi导出execl源码,vs2008实现,包括using库的相关文章

一般源码安装添加的GD库 是不支持 jpeg 格式的图片的

一般源码安装添加的GD库 是不支持 jpeg 格式的图片的,只支持如下格式 GD Support enabled GD Version bundled (2.0.34 compatible) GIF Read Support enabled GIF Create Support enabled PNG Support enabled libPNG Version 1.2.49 WBMP Support enabled XBM Support enabled  下面我们来 添加 jpeg 格式文件

libcurl的源码,编译为静态链接库出现的问题

libcurl的源码,编译为静态链接库出现的问题如下图所示: 解决方案: 具体步骤就是: 1.给工程添加依赖的库:项目->属性->链接器->输入->附加依赖项,把libcurl.lib ws2_32.lib winmm.lib wldap32.lib添加进去 注意,debug配置用libcurld.lib 2.加入预编译选项:项目->属性->c/c++ ->预处理器->预处理器,把  ;BUILDING_LIBCURL;HTTP_ONLY复制进去(注意不要丢

eclipse导出附带源码的jar包

最近在搞Andengine游戏开发,发现andengine的jar包可以直接点击查看源码,而其他项目的jar包却看不了,因此自己研究了下如何生成可以直接查看源码的jar包. 1.eclipse中点击项目src目录点击右键,选择import... 2.选择jar file 3.勾选图中勾选的文字区域 ============================================== 最后奉上效果图: 点击打好的jar包,查看BaseAudioEntity.class的源码 总结: 这种打

Google之Chromium浏览器源码学习——base公共通用库(一)

Google的优秀C++开源项目繁多,其中的Chromium浏览器项目可以说是很具有代表性的,此外还包括其第三开发开源库或是自己的优秀开源库,可以根据需要抽取自己感兴趣的部分.在研究.学习该项目前的时先获取到需要获取一份谷歌的Chromium源码,可参考:http://blog.csdn.net/kuerjinjin/article/details/23563059,若无法获取且打算使用VS IDE的可从此处下载:http://blog.csdn.net/kuerjinjin/article/d

apache源码安装必须依赖的库apr----/etc/ld.so.conf 文件介绍

Apache所依赖的库,封装了各个系统相关的API等.虽然都是Apache开发的,但是现在最新版本的Apache和APR源码是分开的.要编Apache就必须使用APR. /etc/ld.so.conf 此文件记录了编译时使用的动态库的路径,也就是加载so库的路径. 默认情况下,编译器只会使用/lib和/usr/lib这两个目录下的库文件,而通常通过源码包进行安装时,如果不指定--prefix会将库安装在 /usr/local目录下,而又没有在文件/etc/ld.so.conf中添加/usr/lo

Google之Chromium浏览器源码学习——base公共通用库(二)

上次提到Chromium浏览器中base公共通用库中的内存分配器allocator,其中用到了三方库tcmalloc.jemalloc:对于这两个内存分配器,个人建议,对于内存,最好是自己维护内存池:此外在windows下使用可使用其自带的内存分配方式:具体的第三方库可以参阅:http://www.360doc.com/content/13/0915/09/8363527_314549128.shtml:目前我们主要的精力尽可能在Chromium浏览器中base公共通用库的主要内容上,所以不再详

Google之Chromium浏览器源码学习——base公共通用库(四)

本文将介绍debug调试相关的内容,包括调试器.性能分析.堆跟踪.跟踪事件等: alias.h:Alias函数,提供防止载微软的编译器优化某参数变量的操作,内部通过#pragma optimize("", off)与#pragma optimize("", on)来实现关闭所有的优化选项,再恢复它们到原始(或默认)的设定:事实上Alias内部未实现任何的操作. debugger.h: 1. SpawnDebuggerOnProcess:提供开始注册系统级的JIT即时

Google之Chromium浏览器源码学习——base公共通用库(三)

本节将介绍base公共通用库中的containers,其包含堆栈.列表.集合.以及Most Recently Used cache(最近使用缓存模板). linked_list.h:一个简单的列表类型,通过模板实现,内部采用双链表的形式,有区别于c++标准模板库的std::list<T*>,它的使用方式为:base::LinkedList<T>; 相对std::list<T*>,其优点有: 1. 删除一个元素,操作复杂度为O(1),而std::list<T*>

Libevent源码分析—从使用Libevent库开始

练习libevent库的使用,主要是几个API的调用顺序.根据event.h的开头注释部分可知,要使用libevent库,主要的几个API及调用顺序为: event_base()初始化event_base event_set()初始化event event_base_set()将event绑定到指定的event_base上 event_add()将event添加到事件链表上,注册事件 event_base_dispatch()循环.检测.分发事件 写个测试程序,每隔1s打印一条信息 #inclu