手机
当前位置:查字典教程网 >编程开发 >C#教程 >npoi2.0将datatable对象转换为excel2007示例
npoi2.0将datatable对象转换为excel2007示例
摘要:NPOI2.0将DataTable对象转换为Excel2007文件提供下载复制代码代码如下:usingNPOI.SS.UserModel;u...

NPOI 2.0将DataTable对象转换为Excel 2007文件提供下载

复制代码 代码如下:

using NPOI.SS.UserModel;

using NPOI.XSSF.UserModel;

using System.IO;

private Stream RenderDataTableToExcel(DataTable SourceTable)

{

XSSFWorkbook workbook = null;

MemoryStream ms = null;

ISheet sheet = null;

XSSFRow headerRow = null;

try

{

workbook = new XSSFWorkbook();

ms = new MemoryStream();

sheet = workbook.CreateSheet();

headerRow = (XSSFRow)sheet.CreateRow(0);

foreach (DataColumn column in SourceTable.Columns)

headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);

int rowIndex = 1;

foreach (DataRow row in SourceTable.Rows)

{

XSSFRow dataRow = (XSSFRow)sheet.CreateRow(rowIndex);

foreach (DataColumn column in SourceTable.Columns)

dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());

++rowIndex;

}

//列宽自适应,只对英文和数字有效

for (int i = 0; i <= SourceTable.Columns.Count; ++i)

sheet.AutoSizeColumn(i);

workbook.Write(ms);

ms.Flush();

}

catch (Exception ex)

{

return null;

}

finally

{

ms.Close();

sheet = null;

headerRow = null;

workbook = null;

}

return ms;

}

private void DownloadExcel(DataTable dt,string reportName)

{

Stream s = RenderDataTableToExcel(dt);

if (s != null)

{

MemoryStream ms = resultStream.result as MemoryStream;

Response.AddHeader("Content-Disposition", string.Format("attachment;filename=" + HttpUtility.UrlEncode(reportName) + DateTime.Now.ToString("yyyyMMdd") + ".xlsx"));

Response.AddHeader("Content-Length", ms.ToArray().Length.ToString());

Response.BinaryWrite(ms.ToArray());

Response.Flush();

ms.Close();

ms.Dispose();

}

else

Response.Write("出错,无法下载!");

}

【npoi2.0将datatable对象转换为excel2007示例】相关文章:

c#中利用委托反射将DataTable转换为实体集的代码

C# IFF图形结构解析代码

C#解析json文件的实现代码

C# 获取系统进程的用户名

C#将html table 导出成excel实例

C# WinForm捕获全局变量异常 SamWang解决方法

C# DataTable 转换为 实体类对象实例

C# 鼠标穿透窗体功能的实现方法

C#将dll打包到程序中的具体实现

C#使用非托管代码直接修改字符串的方法

精品推荐
分类导航