NOPI组件的使用
NOPI是一个导入导出的组件,功能十分强大,相对于使用Microsoft Jet OLE DB Provider引擎来实现导出,部署环境必须安装具体的引擎才能使用,
对于NOPI的更多信息可以看http://msdn.microsoft.com/zh-tw/ee818993.aspx里面的描述。
下面就讲下具体的基本用法,
string fileName = "测试";
DataSet dt = OrderManager.FinanceExport();
HSSFWorkbook workbook = new HSSFWorkbook();
MemoryStream ms = new MemoryStream();
//创建一个名称为Payment的工作表
ISheet paymentSheet = workbook.CreateSheet("Payment");
//数据源
DataTable tbPayment = dt.Tables[0];
//头部标题
IRow paymentHeaderRow = paymentSheet.CreateRow(0);
//循环添加标题
foreach (DataColumn column in tbPayment.Columns)
paymentHeaderRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
// 内容
int paymentRowIndex = 1;
foreach (DataRow row in tbPayment.Rows)
{
IRow newRow = paymentSheet.CreateRow(paymentRowIndex);
//循环添加列的对应内容
foreach (DataColumn column in tbPayment.Columns)
{
newRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
}
paymentRowIndex++;
}
workbook.Write(ms);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", fileName));
Response.BinaryWrite(ms.ToArray());
workbook = null;
ms.Close();
ms.Dispose();
至于更多用法就看个人需求了,自己研究,可以实现自定义列大小,列格式,样式等等强大的功能,NOPI官网也有相应的例子可以自己查看。

浙公网安备 33010602011771号