NOPI导出excel文件

public void NpoiExcel(DataTable dt, string title)
{
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("Sheet1");

NPOI.SS.UserModel.IRow headerrow = sheet.CreateRow(0);
ICellStyle style = book.CreateCellStyle();
style.Alignment = HorizontalAlignment.CENTER;
style.VerticalAlignment = VerticalAlignment.CENTER;

for (int i = 0; i < dt.Columns.Count; i++)
{
ICell cell = headerrow.CreateCell(i);
cell.CellStyle = style;
cell.SetCellValue(dt.Columns[i].ColumnName);

}
int rowIndex = 1;
foreach (DataRow row in dt.Rows)
{
HSSFRow dataRow = (HSSFRow)sheet.CreateRow(rowIndex);

foreach (DataColumn column in dt.Columns)
{
dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
}
rowIndex++;
}
MemoryStream ms = new MemoryStream();
book.Write(ms);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", HttpUtility.UrlEncode(title + "_" + DateTime.Now.ToString("yyyy-MM-dd"), System.Text.Encoding.UTF8)));
Response.BinaryWrite(ms.ToArray());
Response.End();
book = null;
ms.Close();
ms.Dispose();
}

 

 

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
create PROCEDURE [dbo].[getExport]
@status varchar(5000),
@tb varchar(80)
AS
declare @sql varchar(5000)
if @status is null
BEGIN
set @sql='select * from '+@tb+''
exec(@sql)
END
else
BEGIN
if @tb='OutPutComponet_View'
set @sql='select t.SNum as 编号,t.ComponentName as 组件名称, t.Brand1 as 品牌,t.TypeName as 类型,t.Unit1 as 单位,t.Count as 数量,t.Price as 价格,t.Supplier1 as 供应商,t.IsOld 是否旧件,t.AddDate as 入库时间 from '+@tb+' as t where '+@status+''
else if @tb='BorrowDetail_View'
set @sql='select t.SNum as 编号,t.ComponentName as 组件名称, t.Brand1 as 品牌,t.TypeName as 类型,t.Unit1 as 单位,t.Count as 数量,t.Price as 价格,t.Borrower 借用人,t.Company 借用公司,t.Department 借用部门,t.IsOld 是否旧件,t.AddDate as 借出时间 from '+@tb+' as t where '+@status+''
else set @sql='select * from '+@tb+''
exec(@sql)

END

 

posted @ 2015-04-08 17:20  徐本县  阅读(221)  评论(0编辑  收藏  举报