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

35 篇文章 0 订阅
29 篇文章 0 订阅

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

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();
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值